約 2,203,071 件
https://w.atwiki.jp/cobljp/pages/16.html
Mod Coblはむしろ対応Modを入れてこそ真価を発揮すると言ってもいいと思われます。 基本的に最新版OBSE必須。 家・建物・設備 タイトル 作者(敬称略) 説明 Alchemists Cave - COBL Phaedra IC東の小島にCoblフル活用の錬金術師向け洞窟を追加します。 Anoriel's Crossroads Manor Anoriel Skingradの東に邸宅を追加します。わんこ付き。 Artificerens Battlehorn Coblized Artificeren DLC6-Fighter s StrongholdのBattlehorn城にLuggage、ソーター、Dinner Plate、井戸を追加します。 Bravil House For Sale Upgrade - COBL Compatibility Patch Wyzard DesertNaiad氏のBravil House For Sale UpgradeがCoblで追加されたアイテムとコンフリクトしていた問題を解決するパッチ。 Buyable COBL Alchemy racks Wynton and OKAMI(狼少年) ICマーケットMystic Emporiumで設置 / 再設置可能なソーターを購入できます。拠点にソーターがないとお嘆きのあなたに。 CLS Sailboats COBL CLShade 手漕ぎボートを追加します。キャビンにLuggageとソーターあり。 Deiva_house Happy-i-am Anvil付近にガード付きの家が建ちます。 Frostcrag Alchemy Sorter Shiva7663 DLC3のFrostcrag Spireにソーターを追加します。 Princess Battlehorn Castle Princess Stomper DLC6のBattlehorn城にソーター、プール、コンパニオン用の寝室を追加します。(Book NowからDL出来ます) Princess Cheydinhal House for Sale Princess Stomper Cheydinhalの売家をアップグレード。Luggage、ソーター、キッチン、プール等追加多数。世界観を壊しかねない小物もありますのでご注意。 Princess Imperial City Apartment - COBL Phaeda Princess Stomper氏のPrincess Imperial City ApartmentのCobl版。IC Talos Plazaに小規模ながら便利なアパートメントを追加します。 Prisoner's Campsite Phaeda 監獄外の下水出口にLuggage等のあるテントを追加。 SI House Happy-i-am SIに家が建ちます。 Summonable Private Quarters LazyMonk ヘイム(Hame)遺跡で多機能・便利な秘密の小部屋を召喚するペンダントを取得出来ます。ややバギーという報告もあるのでReadme必読。 Waterfront Basement Enterprise2001 Waterfrontの売家に便利な地下室を設置します。Better Shackと共存可。 Woodlands Village Shezrie 新しく村を追加するMOD。現在行方不明。恐らくOREの有料会員限定配布になったのでは… 生活(食事など) 食事MODはそれぞれ独特のクセがありますので、自分に合ったものを探してみてください。 近々リリース予定の新型HTSCが、COBLにも対応出来るようになるという情報もあり。 タイトル 作者(敬称略) 説明 CLS Craftybits OBSE CLShade 素材を使って装備を作ったり料理したり。出来た料理はDinnerPlateにも対応。 Natural Hunger by QF QueenaFarts MMM、OOOなど他のModの食品にも対応。Cobl対応Modには珍しくDinnerPlateを通さず食事するタイプ。 FF Real Thirst, Cobl EggDropSoap 定期的に喉が渇くようになるMOD。 Let the People Drink! Khornate, Qazaaq Charcoal CaveからICまで水道が引かれ、ICの噴水を水源にできます。 Real Hunger, Cobl Dominic Watson, Thingamajig, Cipscis, Wrye 定期的に食事が必要になります。DinnerPlate使用。 Vim and Vigor Advanced Ssenkrad 定期的な睡眠・飲食が必要になります。デフォルトのスタミナが劇的に増加する仕様なので某アダルトなMODを導入している方には不向き。アンインストール時に(場合によってはインストール時も)コンソールを開く必要あり。Readme必読。 大型MOD対応 タイトル 作者(敬称略) 説明 COBL-Tweaks for Frans dewshine2003 COBL-tweaks.espと差し替えることによってFranで変更された部分と対応させます。Franを入れて以来BanditからMoon Sugarが出ないとお嘆きのあなたもこれで安心。 クエスト タイトル 作者(敬称略) 説明 The Blackwood Company Lingwei Blackwood Companyに加入出来るようになるMOD。17のメインクエストと13のサブクエストが君を待つ!(未訳) その他 タイトル 作者(敬称略) 説明 Alchemical Formulas haama ポーションのレシピに広がりが出ます。要Pluggyv73以降、要TSFC。 Keychain-COBL mmmpld, haama お馴染みKeychainのCOBL版。かさ張る鍵をまとめます。こちらも要Pluggyv73以降。Pluggy関係は環境により不具合が起こるようなので、その場合は非Cobl版を。 Tamriel Travellers CorepcMMP 英語圏で人気のMOD。Fran・OOO・MMM・Living Economyにも対応。宝石商から武器商人、はては魔法矢商人まで、色々な行商人がフィールドに追加され、世界中を巡回するように。インストールが少々複雑化しているのでReadmeをよく読まれることをお勧めします。1.36で更新停止のようです。お疲れ様でした。 Wrye Shivering Death Wrye Shivering Islesクエストを終えた人向け。キャラクターが死ぬとたぶん丸腰であの世に飛ばされるようになります。出口を見つけて現世に帰還せよ!
https://w.atwiki.jp/mayugeserver/pages/10.html
本鯖のMOD構成について 必須MOD(前提系) 必須MOD(本体) 導入推奨MOD 他に鯖缶が入れてるやつ 導入する可能性のあるやつ 一括DL用ファイル このページでは、普段の癖で大量に導入されているMODを羅列していく。 基本的に直リン 何とは言わんがT or使って管理してるから無駄やぞ 同一と証明出来なければセーフという理論 ※リストを管理しきれてないので一括DLファイル推奨 必須MOD(前提系) MinecraftForge CoFH Core CoFH World CodeChicken Lib 1.8.+ Forge MultiPart CBE EnderCore HeatAndClimateLib Mantle EBLib LMLibrary ElecCore OpenModsLib MrTJPCore CraftStudio API MalisisCore BdLib CXLibrary LibNine Mysterious Mountain Lib Reborn Core Redstone Flux 必須MOD(本体) Forestry Industrial Craft Advanced Solar Panels Advanced Machines Buildcraft Additional Pipes for Buildcraft Logistics Pipes Project RED Project Red - Core Project Red - Integration Project Red - Fabrication Project Red - Expansion Project Red - Illumination Project Red - Exploration Project Red - Compat Tinkers Construct PlusTiC Construct's Armory Tinkers' Evolution Tinker's SlashBlade Applied Energistics 2 AE2 Stuff AE Additions - ExtraCells2 Fork Ender IO Ender Zoo Ender IO Endergy Stellar Fluid Conduits Gas Conduits Railcraft Thermal Foundation Thermal Expansion Thermal Dynamics Thermal Innovation Thermal Cultivation Redstone Arsenal TofuCraftReload HeatAndClimateMod Extra Utilities 2 抜刀剣 ExBlades SlashBlade Japanese Addon Pack Crafting EX Smash Bats Mekanism Mekanism Generators Mekanism Tools CraftingTable IV StorageBox MineAllSMP DigAllSMP CutAllSMP Ender Storage 1.8.+ Wireless Redstone CBE Multi Page Chest OpenBlocks Steve's Carts Reborn ArchitectureCraft - TridentMC Version MalisisSwitches MalisisDoors LittleMaidReengaged Firis's Patch Biomes O' Plenty Village Names Cubic Villager CraftTweaker BiblioCraft Bibliocraft_paintings_example_resource_pack (リソースパック) Vanilla Builders Extension カラコインMOD 導入推奨MOD LiteLoader TabbyChat 2 Just Enough Items (JEI) JEI Integration Just Enough Resources (JER) Block Drops (JEI Addon) JustEnoughTooltips JEI Bees Hwyla Waila Harvestability Wawla - What Are We Looking At OptiFine FoamFix BetterFps Bad Wither No Cookie - Reloaded Sound Filters SkipSignGUI LunatriusCore InGame Info XML VILLAGE INFO SpawnChecker Schematica Inventory Tweaks Xaero's Minimap Xaero's World Map RosettaEnchantTable SignPicture Smooth Font FPS Reducer Untranslated Items ReAuth MineMenu 他に鯖缶が入れてるやつ Shadowfacts' Forgelin Better Foliage ChatLog for Forge Yarr Cute Mob Models - Remake Chat Bubbles Controlling Dynamic Lights HorseInfoReloaded ToroHealth Damage Indicators 導入する可能性のあるやつ このMOD群はまだ導入していません 導入するとログイン出来ない可能性があります McJtyLib RFTools RFTools Dimensions RFTools Control CC Tweaked Guide-API Modular Forcefield System OMLib Open Modular Turrets Open Modular Passive Defense Immersive Engineering Immersive Petroleum Immersive Railroading Immersive Cables AsphaltMod Doggy Talents Pam's HarvestCraft Compact Machines MineColonies Cooking For Blockheads MCMultiPart Sonar Core Practical Logistics 2 Ultimate Car Mod Hostile Worlds - Invasions MrCrayfish's Furniture Mod 一括DL用ファイル 必須MOD 非必須MOD
https://w.atwiki.jp/skyrim_mod/pages/59.html
Mod制作時や制作後に英語のやりとりをすることが多くなります。 NexusやWorkshopに投稿したいけど英語が書けないから投稿しないとか、英語が苦手で億劫とか、伝わらなくてコメント欄が質問で溢れるとか、そういうのを少しでも緩和できたら幸いです。 Nexusへの投稿方法はこちらのブログ記事を参照にしてください。 Thinking Skeever Skyrim MOD製作:NexusModsでのファイル公開手順 (その1:登録の開始) Modの説明文を書く書く順番 最初の一文で書くこと 目的を書く 仕様 Details 動作に必要なもの 許諾 チェンジログ 英語が苦手なことを書く必要はない 便利英文集In regard to ~ ~について Work in progress 作業中。WIPと短縮される場合もある。 Lore-Friendly Vanillaの世界観を崩さないもの。 feel free to ~ ご自由に~の定型句。 Thanks for your-, Thank you for -ing:~ありがとう Keep in touch また連絡してね。 PM(private mail)の文末の結びに使う語 Regards, Cheers, Thanks. be compatible with ~ ~と互換性がある To (In order to) ~, need to ~ ~するためには~する必要がある。 depend on AはBに依存する。 avoid -ing ~するのを避ける 許可を取る アイディアを求める ~のみだけ パーミッション(許諾)関連を英語で書く ゲームの英単語 通じにくい(和製?)英語 略語 mod作成した時にリソースの使用許可を求める文面例 参考になるリンク Modの説明文を書く 型がある程度決まっているのでそれに沿っていけば型が全くない時より通りの良い英語になるといます。 この型が必ずしも正解というわけではありません、あくまで一例です。 書く順番 基本的に重要な順もしくは時系列順に書きます。 MODによって何の項目が重要かは変わってくるのでそこは柔軟にやってください。 書き順の一例: Index 説明 Description (or 機能 Feature )このMODは何か(何ではないのか)What this mod is (and what it isn’t). 目的 Goal このMODは何を目指しているのか(何を目指していないのか) 仕様 Details 動作に必要なもの Requirements インストール Installation アンインストール Uninstallation 使い方 How to use よくある質問 Q A (Frequently Asked Questions) 既知のバグ・問題 Known Bugs / Issues To-do (やらないこと Not to-do) スペシャルサンクス Special Thanks クレジット Credit 許諾 Permission (Licensing/Legal) ログ Change log このMODがなんであるかの説明は読み手にとって一番大事なので一番上に来ます。 非常によくある間違いがあったり警告が必要だったりするときは注意書きが一番上に来ることもあります。 明確に目的があれば、次に目的を書きます。開発の動機であるとかもここで。 短ければ上のDescriptionと統合しても構いません。 必ずしも全部必要でもなくて、How to use とDetailsが一緒になることもあります。 時系列順でRequirementsがInstallationの前に来るのもおかしいですし、Installationの前 にUninstallationが来るのもおかしいです。 最初の一文で書くこと まず、はじめにこのMODが何であるのかを書きます。 論文などの要約の簡略版だと思って、1段落のうち2-3文でまとめるつもりぐらいのが書き手も読み手も気が楽かもしません。 This mod あるいは Mod名などからはじめます。 動詞はこのMODが何をするのかで選びます。 改良するならimproves、 足すならadds、直すならfixes、置き換えるならreplacesなど。 そのあと何を?に続くので名詞です。さらにwhichで繋いで細かい部分を補足します。 例:This mod adds new set of heavy armor which(省略可) can be crafted. このmodはクラフト可能な重装鎧を新たに加えます。 レベルドリストに加える場合は、whichのあとを be seamlessly integrated in skyrim. などに変えるだけです。in skyrimはinto the worldでも可。 さらに前文の主題(このMODが何か)を補強します。接続副詞のFuthermore, In additon, Moreover, Alsoなどを前文をつなげるか、あるいはなくてもいいです。 例:There are upgradable and require perks to be able to craft. Currently it only includes 1 armor sets will be adding more. これらはアップグレード可能で、クラフトするにはパークが必要です。現在は一つのよろいセットしか含まれませんが、今後さらに増やしていく予定です。 目的を書く 目的の部分は最初の説明書きと統合しても構いません。特に目的がなければ書かなくてもよいです。 This mod aim to 動詞 The aim of this mod is to 動詞 aimはgoalでもpurposeでも可です。 例:This mod aim to make simple and lore friendly armor package. I don't think cool to excessively decorated armor. このmodの目的はシンプルでロアフレンドリーなアーマーパッケージを作ることだ。私は装飾過多なアーマーをかっこいいとは思わない。 仕様 Details 細かい仕様だとかを詳細に書くところで装備とかではない限りここが一番長くなると思います。 動作に必要なもの 例:The following or their later versions are required to run this mod (以下のバージョンかそれ以上に新しいバージョンのものがこのModを使うの必要です。) Skyrim 1.8.151.0 + SkyUI 3.1 + SKSE 1.6.9 + はover でも可。 許諾 ほかのサイトに上げてはいけない場合は 例:You are not allowed to upload this file to other sites (under any circumstances). 他のゲームにファイルのコンバートしてはいけない場合は 例:You are not allowed to convert this file to work on other games (under any circumstances). 改変再配布するには許可が必要な場合は 例:You must get permission from me before you are allowed to modify my files to improve it. もしくは you must contact me and obtain permission before uploading this mod to other sites or using its contents in your own mod. 自由に改変再配布してもいい場合は 例:You feel free to modify/upload this mod. チェンジログ チェンジログでは何がどうした?を簡潔に書くためにちょっと変わった書き方をします。 主語省略でFixed, Added, Improved, Replaced, Includedなどの文頭に持ってきて、どうした何を。というのと、受身形でbe動詞省略した何がどうされた。等あります。 例:Fixed wrong mesh. Wrong mesh fixed. Bug fixed wrong mesh. 英語が苦手なことを書く必要はない だいたい読めばわかるのでわざわざ書く必要もないです。 文化圏の違いなんですが下手な英語を恥ずかしがったり謙遜したりする必要はありません。 ヘタな英語についてからかったりすること自体がNexusだと禁止行為です。 どうしても書きたいなら。 例:I'm not good at English. I can write a little English.I don't write English well. I can't write English. なんですがcanは能力とか許可に関するものなので推奨されません。 (can'tだと英語を書く能力がない- 書いてるだろとのツッコミ食らう 許可がない- 誰に禁止されてるのとツッコミ食らう) 枕詞のごとく付いてるI'm sorryも必要ないです。 I'm sorry自体の意味合いとしてそもそも重いもので、自分が悲しく思ったりする時に使います。何かについて謝っておきたいときは具体的に何についてなのか表せるsorry for 名詞, sorry to doで使いましょう。 便利英文集 In regard to ~ ~について Work in progress 作業中。WIPと短縮される場合もある。 Lore-Friendly Vanillaの世界観を崩さないもの。 feel free to ~ ご自由に~の定型句。 例えば, Mod使用の承諾の場合などに対する返事に大変便利。 例:Feel free to use this mod. 自由にこのModを使っていいよ。 Thanks for your-, Thank you for -ing:~ありがとう ありがとうと伝えるときに。 例 Thanks for your message. メッセージありがとう 例 Thank you for using this mod. 使ってくれてありがとう Keep in touch また連絡してね。 継続して連絡がほしい時に文末に。 PM(private mail)の文末の結びに使う語 Regards, Cheers, Thanks. 結句。色々種類はあるけど、ビジネスメールでもないのでこのへんのもので。 be compatible with ~ ~と互換性がある 逆に互換性がないのはbe incompatible with ~。conflict with でもOK。 This mod is compatible with A mod. このmodはAのmodと互換性がある。 To (In order to) ~, need to ~ ~するためには~する必要がある。 使い勝手の良い定型句。 例:To reach the cave, you need to take a key from farengar's desk. 洞窟に入るためには、ファレンガーの机から鍵を取る必要がある depend on AはBに依存する。 例:The power of this attack depends on the player's skill in sneak. この攻撃の攻撃力はプレイヤーの隠密スキルに依存する。 avoid -ing ~するのを避ける 例:This patch avoids conflicting with A mod. このパッチはA Modと競合するのを避ける。 許可を取る 最も丁寧な言い回し I was wondering if you could 例:I was wondering if you could ask you a few questions. いくつか質問してもよろしいでしょうか? 例:Can I use your mod to be included in my project of mod? あなたのmodを私のmodに含めてもよいですか? アイディアを求める Do you have any ideas? 何かアイディアありますか? 口語っぽくAny ideas?も常套句。 ideasには複数のsがつくので注意。 ~のみだけ onlyよりはallの方がよく使う。 That’s all I know 知ってるのはこれだけです。 only使う場合はonly~ の語順のが無難。 He is the only person~ ~するだけでよいはhave only to do You have only to press this key. そのキーを押すだけでいい。 パーミッション(許諾)関連を英語で書く You are not allowed to upload this file to other sites. 許可無く他のサイトにアップロードしない。 文末に「いかなる場合でも」の意味のunder any circumstancesを入れてもよいです。 You are not allowed to convert this file to work on other games. 許可無く他のゲームにコンバートしない。 You feel free to use this mod, but you must write the credit(use facelight) in your description. クレジットに記載した場合はこのmodを自由に使用してもよい。 No need to contact me. 連絡する必要はありません。 ゲームの英単語 Area of Effect 範囲攻撃、AoEとよく省略される。 Buff バフ。強化、ステータス強化の意味。 Nerf 弱体化 Debuff 状態異常 通じにくい(和製?)英語 モーション→animation ダッシュ→sprint ガード(防御)→block 略語 特にメールなどはわかりやすい、親しみやすいというのが重要だと思うんですが、わざわざ略語やスラングを使う必要はないです。 btw by the way. ところで。そういえば。 OMG oh my god. ASAP as soon as possible. できるだけ早く。 具体的な期間について指摘したほうが親切ですし、Please reply soon. みたいな方が簡潔でわかりやすいです。 mod作成した時にリソースの使用許可を求める文面例 件名 Permission request for リソース名. 本文 Hi, ○○○(相手の名前). I'm a long time fan of your mod, and I'm planning on uploading a follower. I was wondering if I could use your face texture file of mod名. I'll list your credit to description and readme on my mod. Thanks. 件名で一発で分かるように。Permission入れるとわかりやすいです。 他のバリエーション:Permission about mod名、Permission to use your mod 使わせてもらってることを書いてどんなmodを作ってるかを書きます。 他のほめパターン:I have fun of using your mod. Thanks for your great mod. そのmodの具体的にどの部分のリソース部分かを書きます。 クレジット記載することを明記しておきます。 Thanksは結びの句。よろしく、ぐらいの意味です。 参考になるリンク 『Business Gaminglish』 ~ビジネス英語 in ゲーム業界~
https://w.atwiki.jp/ghostrecon2001mods/pages/25.html
Name imageプラグインエラー ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (pic1) Mod情報 名称・読み name pronunciation 名称和訳 translation 作者 Author 詳細はReadme.txtに記載 種類 スキン・武器 最新版 Version number リリース年 Release year ダウンロードページ メイン link here file type ミラー link here 修正パッチ 必要Mod等 無し 概要 マルバツをモチーフとしたスキンmod。 コレコレを、アレソレのキャラクターに置き換える。このマップではこんな、あのマップではそんな装備使用。ATR・CHR・RSBファイル置き換え。 キャラクターモデルは新作?オリジナルのまま?で、隊員の能力値にも変更あり(デフォルトより高い)。武器も変更・追加ありなし。 備考 このmodは自前のアクターファイルを使用するため、装備フォルダーの名称を変更するmodや、隊員の能力値を変更するmodとは相性が悪い可能性に注意。 要素 新キャラクターモデル・テクスチャー 新武器・スキン 新アタッチメントモデル 隊員能力値上昇 画像 森林 imageプラグインエラー ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (skin gr 101st 1 orig.jpg) 砂漠 imageプラグインエラー ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (skin gr 101st 2 ds.jpg) 熱帯(ジャングル) imageプラグインエラー ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (skin gr 101st 3 it.jpg) バグ情報 MP7を装備してミッションを開始するとゲームがクラッシュする。 (MP7の3DモデルがMod内に存在しないため)
https://w.atwiki.jp/csjake/pages/215.html
# A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Badlands 作者 KurtM バージョン 0.9.9 概要 敵があちこちに配置されている中規模の島マップ。目標はないが最深部の試作向上で端末を操作するとハンターが出現し、倒せば完了ということだと思われる。 評価 スクリーン ダウンロード Crymod (10MB) Bankog 作者 - NOOB - Killer バージョン 1.0 概要 北朝鮮軍の小さな集落に墜落し…?小さな集落で10数人の敵と戦うだけのマップ。 評価 スクリーン ダウンロード Crymod (18MB) Battle At Refinery 作者 Ridgeline バージョン 1.0 概要 NK Hunt(nowhere)と同様のシステムを利用したマップで舞台はRefinery…と似たような場所。複雑で高低差があるため一方的な攻撃が可能で上手く機能していない印象。 目標 - 評価 スクリーン ダウンロード Crymod (19MB) Battle of the island 作者 mironator バージョン 1.2 概要 森が広がる広めの島マップで各地にある北朝鮮軍の拠点を潰して回ることが目標。冒頭で大作感を感じさせるのだが特徴はなく非常に平凡なマップ、敵が無駄に多い。所要時間40分。 目標 01. Infiltrate Base 基地に侵入しろ 02. Destroy Tank 戦車を破壊しろ 03. Destroy Asian AAA 対空砲を破壊しろ 04. Eliminate the Koreans 北朝鮮兵を排除しろ 05. Access North Korean TN 敵の戦術ネットワークにアクセスしろ 評価 スクリーン ダウンロード Crymod (33MB) Battle of the Twin Islands 作者 Haquinus バージョン 1.0.0 概要 朝鮮軍と米軍が浅瀬を挟んだ2つの島で熾烈な砲撃戦を繰り広げる、シンプルだが熱い。 ロケランは弾がなくなる前に弾薬を補充しておかないと撃てなくなるので注意。 評価 スクリーン ダウンロード Crymod (2.9MB) BattleStar Desert 作者 - NOOB - Killer バージョン 1.00 概要 マップ内に散らばっている敵と適当に戦うだけのマップ。カラーグレイディングがオンになっていると地上が真っ暗で全く見えないので設定を下げるかr_colorgrading=0を使おう。 評価 スクリーン ダウンロード Crymod (8.2MB) Beach Base 作者 wrathofgod バージョン 1.0 概要 海辺に2つの敵基地があるマップ。前半はこれといって特徴もないが後半の基地の周りには丁度良く監視塔とスナイパーが配置されているのでスナイプレイが出来る。大型クレーンにはロケランを持ったナノ兵が大量にいるが外部からは攻撃がなかなか届かず戦うのは困難、倒しても何もないので適当に遊ぼう。 評価 スクリーン ダウンロード Crymod (17MB) Black VTOL Down 作者 The_wild_Beaver バージョン 1.0 概要 タイトルからすると墜落したVTOLを発見し乗員を救出するために奮闘する内容と思ってしまうが、キョン将軍を追跡するという流れの中でいくつかの戦闘を行うのみでVTOLは大して意味はない。所要時間20分。 目標 01. Catch General Kyong キョンは小屋の中にいる 02. Find Kyong in the school キョンはこの建物にいるはずだ 03. Defeat the school 敵の増援が来る 04. Go to the crash site 墜落したVTOLの生存者を救え 05. Defend the crash site VTOLを守れ 06. Locate the hostages キョンは捕虜を洞窟に閉じ込めている 07. Kill General Kyong スナイパーでキョンを殺せ 08. Go to LZ Alpha 脱出しろ 評価 スクリーン ダウンロード Crymod (10MB) Boxman Test 作者 Jack2785 and maraki fogo バージョン 1.0 概要 竜巻が建物を破壊しているだけのマップ。無価値。 評価 スクリーン ダウンロード Crymod (0.3MB) BPLIsland 作者 lwt001 バージョン 1.02 概要 大量の敵が徘徊する島マップ。目標は情報の収集とレーダーの停止(破壊すると目標が達成出来ないようだ)。多数のスナイパーを含む敵がこれでもかと配置されていて大乱闘必死というかバランス崩壊気味。 評価 スクリーン ダウンロード Crymod (8.9MB) BreakOut 作者 Ninja_Prime バージョン 1.0.1 概要 多数の敵が徘徊する島から脱出することが目標のマップ。良く出来てはいるがかなり小さい島で目標も少ないのですぐに終わる。 評価 スクリーン ダウンロード Crymod (21MB) Bricksys 作者 TDUBDUB バージョン 1.0.0 概要 建物破壊のデモマップでブロックで出来た塀や建物が点在している。車で突っ込んだり戦車で吹っ飛ばしたり適当に遊ぼう。プレイするにはエディタで実行する必要がある。 評価 スクリーン ダウンロード Crymod (4MB) Bridge 作者 SUBBERBIDI バージョン 1.0 概要 長い橋のかかる2つの小さな島のマップに敵がちょこちょこ配置されている。 ロケーションが良い。 評価 スクリーン ダウンロード Crymod (16MB) BrokenParadise 作者 Serio バージョン 1.0 概要 敵が数人いるだけの小さなマップ。 影が点滅しているように見えるのは雲の影が無駄に高速で移動しているため。 評価 スクリーン ダウンロード Crymod (5.4MB) Busa Island 1 and 2- 作者 Hayabusa バージョン - 概要 道に沿って敵の拠点が多数ある森?のマップ。目標はなくひたすら戦うのみ、2マップに分けている意味が分からない。 評価 スクリーン ダウンロード Filefront (32MB)
https://w.atwiki.jp/spaceflightsimulator/pages/120.html
※このページは現在編集中のため、情報が正確でない場合があります。 編集へのご協力お願いします。 MOD MODはPC版向けの内容であり、スマホ版には対応していません。 本ページの内容はPC向けに作成されています。 ・目次 MODとは? MODの注意点 MODはどこで手に入るの? MOD リスト MODの導入方法 MODが動作しない時は? MODとは? MODとは、「Modification(改造)」の略で、 プレイヤーがゲームのコードやリソースを変更して新しい機能を追加するものです。 主に、ゲームの仕様や機能の追加などのシステム面での拡張がメインになります。 ※MODは多くの場合公式サポートではないので自己責任! MODの注意点 ※MODはiOS/Androidで使える? 使えません! 現在のMODは全てSteam版(PC)のみで使用できます。 また、MODを利用するにはモッドローダーに対応したバーションが必要です。 今後、スマホ版で使用できる可能性は低いとされています。(フォーラムより) ※偽物に注意! 「Spaceflight Simulator MOD」について調べると、いくつかの情報が出てきます。 しかし、注意が必要なのは「MOD.apk」といった形式のAPKファイルです。 これらのファイルは偽物である可能性が高いため、利用には注意が必要です。 本物のSFS MODは、dllファイル形式で作成されます。 ※MODが利用可能なバージョン Steam版でModを利用する場合はV1.5.8.5以降のバージョンが必要です。 ※UI Toolsについて UI Toolsは多くのMODで前提MODとして使用されるMODです。 以前までは、各自でMODを導入する必要がありました。 現在は、標準で搭載されているため、各自での導入は不要になりました。 MODはどこで手に入るの? Spaceflight SimulatorのMODの多くは公式フォーラム内にあります。 また、フォーラム内には専用のMODフォーラムがあるため、利用することをお勧めします。 Spaceflight Simulator 公式フォーラム(※英語) MOD リスト MOD名 説明 作者 対応バージョン ANAIS ナビゲーションを進化させ、惑星間の移動を簡単にするMODです。ユーザーは「Navigate to」をクリックすることで、最適な軌道が自動計算され、移動経路が色分け表示されます。宇宙の旅を効率的にサポートする理想的なツールです。 Altaïr 1.5.10.2 AstroCompat 旧式の非公式ローダー向けのパックに現行のバージョンへ互換性を持たせます。パーツパックとテスクチャに対して互換性を持たせることができます。 N2O4 1.5.10.2 Build Settings CucumberのPart Editor MODに不足していた要素を補完し、ユーザーエクスペリエンスを向上させるために開発されました。具体的には、パーツのスナップや接続の切り替え、グリッドの移動範囲の調整、回転角度の調整などの機能を提供しています。さらに、隠されたスキンを再表示する機能も備えています。これらの機能を活用することで、ユーザーはより容易にクリエイティブなプロジェクトを進めることができます。 NeptuneSky 1.5.10.2 Closest approach line SFS旧バージョンから人気のある最接近アプローチラインを再導入するものです。ターゲットを選択すると、船がそのターゲットに最も近づく軌道上の位置を示す最接近ラインが表示されます。このラインを活用して、軌道を調整し、目的のオブジェクトとの接近を円滑にします。最接近ラインは水色で表示され、最接近が0に近づくと徐々に赤く変わり、衝突の危険性を警告してくれます。 Altaïr 1.5.10.2 Delta-V calculator - Altaïr 1.5.10.2 Forceful Fuel Tanks - pixelgaming579 1.5.10.2 FSI's Info Overload Mod - pixelgaming579 1.5.10.2 Gliding heat shields ヒートシールドにリフト機能を追加し、再突入時にカプセルの滑空とプレイヤーによる軌道制御を可能にします。 Altaïr 1.5.10.2 Image Cover Mod - AstarLC 1.5.10.2 Part Text Mod パーツのJSONデータを編集できる高度なパーツエディターです。 pixelgaming579 1.5.10.2 Smart SAS Mod pixelgaming579 1.5.10.2 Teleporter Mod 惑星のテレポートと座標を用いた高度な位置と角度、機体速度の変更MOD N2O4 1.5.10.2 Texturable スキン非対応のバニラパーツ(パラシュート、プローブ、ヒートシールドなど)にカスタムスキンを適用できるようにするもので、これらの部品にスキンを提供します。 NeptuneSky 1.5.10.2 UI Tools 多くのModが前提Modとして必要とするModです。このModを導入することで、他のModの更新を自動的に検知し、更新が利用可能である場合にはユーザーに提案してくれます。UI Toolsはソフトに標準搭載されています。 cucumber-spNeptuneSky 1.5.10.2 VanillaUpgrades NeptuneSky 1.5.10.2 Warpinator 惑星やロケットに高度なテレポート機能を提供します。惑星を選択すると、周回軌道または地表にテレポートするかをメニュー上で選択できます。これにより、宇宙探索が素早く効率的に行えます。さらに、セレクターメニューを使用することで、マップ内で惑星を探す手間を省略できます。バッククォート (`) キーを押すだけで、目的地を選択するメニューが開き、プレイヤーは簡単に宇宙を探索できます。このMODはカスタム惑星をサポートしています。 NeptuneSky 1.5.10.2 PartEditor Mod 全てのパーツのパラメーターを数値で自在にいじれるようになります。また、カスタムパーツにも対応しています。 Cucumber Space 1.5.10.2 Zoom Keys Spaceflight Simulatorにトラックパッドユーザーのためのバインド可能なズームキーを追加します。=キー/+キーでズームインおよびズームアウトし、0キーでズームスピードを変更できます。英語配列のキーと日本語配列のキーでは配列及び記号が異なります。 NeptuneSky 1.5.10.2 ※参考サイト:SFS公式フォーラム(最終更新:2024・2/2) MODの導入方法 ※MODは各自フォーラム等から入手してください。 !各Modは下記の場所に保存してください。 1. WINDOWSであれば "WINキー"+"Rキー"で「ファイル名を指定して実行」を起動します。 C \Program Files (x86)\Steam\steamapps\common\Spaceflight Simulator\Spaceflight Simulator Game\Mods 2. 上記のパスを張り付けて「参照」を押します。 3. フォルダ内にdllファイルを直接入れることで導入できます。(このフォルダに入れる) 導入後(起動前) !Modsフォルダには元々"Custom Assets"フォルダが入ってます。 (カスタムパーツやテクスチャ用のフォルダになります。) 導入後(起動後) ※一度ゲームを起動すると、Mod名にちなんだフォルダが作成されます。 MODが動作しない時は? Modが動作しない場合の原因はいくつかあります。 1. ゲーム内のModloaderに導入したModがあるか確認しましょう。 Modloaderはゲームメニューより確認できます。 2. Modが"Spaceflight Simulator Game\Mods"に正しく入っているか確認しましょう。 Modは必ずModフォルダに入れる必要があります。 3. ゲームが既に起動している間にModを導入した場合は再起動が必要です。 Modをオン・オフするときも、再起動が必要になります。 4. 導入したModは使用しているバージョンと互換性がありますか? ゲーム更新直後又は数日はModが最新バージョンに対応していないことが多いです。 各Modのフォーラムで確認しましょう。 ページトップへ
https://w.atwiki.jp/csjake/pages/42.html
コンソールコマンド一覧(A~F) aa_maxDist ac_animErrorClamp ac_animErrorMaxAngle ac_animErrorMaxDistance ac_clampTimeAnimation ac_clampTimeEntity ac_ColliderModeAI ac_ColliderModePlayer ac_debugAnimEffects ac_debugAnimError ac_debugAnimTarget ac_debugCarryCorrection ac_debugColliderMode ac_debugEntityParams ac_DebugFilter ac_debugFutureAnimPath ac_debugLocations ac_debugLocationsGraphs ac_debugMotionParams ac_debugMovementControlMethods ac_debugPrediction ac_debugSelection ac_debugSelectionParams ac_debugText ac_debugTweakTrajectoryFit ac_debugXXXValues ac_disableFancyTransitions ac_disableSlidingContactEvents ac_enableExtraSolidCollider ac_enableProceduralLeaning ac_entityAnimClamp ac_forceSimpleMovement ac_frametime ac_movementControlMethodFilter ac_movementControlMethodHor ac_movementControlMethodVer ac_predictionProbabilityOri ac_predictionProbabilityPos ac_predictionSmoothingOri ac_predictionSmoothingPos ac_targetcorrectiontimescale ac_templateMCMs ac_triggercorrectiontimescale ag_action ag_adjustToCatchUp ag_averageTravelSpeed ag_breakmode ag_breakOnQuery ag_debug ag_debugErrors ag_debugExactPos ag_debugLayer ag_debugMusic ag_drawActorPos ag_ep_correctMovement ag_ep_showPath ag_forceAdjust ag_forceInsideErrorDisc ag_fpAnimPop ag_humanBlending ag_item ag_lockToEntity ag_log ag_logeffects ag_logselections ag_logsounds ag_logtransitions ag_log_entity ag_measureActualSpeeds ag_physErrorInnerRadiusFactor ag_physErrorMaxOuterRadius ag_physErrorMinOuterRadius ag_physErrorOuterRadiusFactor ag_queue ag_safeExactPositioning ag_showmovement ag_showPhysSync ag_signal ag_stance aim_assistAimEnabled aim_assistAutoCoeff aim_assistCrosshairDebug aim_assistCrosshairSize aim_assistMaxDistance aim_assistRestrictionTimeout aim_assistSearchBox aim_assistSingleCoeff aim_assistSnapDistance aim_assistTriggerEnabled aim_assistVerticalScale ai_AdjustPathsAroundDynamicObstacles ai_AgentStatsDist ai_AllowAccuracyDecrease ai_AllowAccuracyIncrease ai_AllTime ai_AmbientFireQuota ai_AmbientFireUpdateInterval ai_AttemptStraightPath ai_Autobalance ai_BannedNavSoTime ai_BeautifyPath ai_BigBrushCheckLimitSize ai_CloakIncrementMod ai_CloakMaxDist ai_CloakMinDist ai_CrowdControlInPathfind ai_DebugDraw ai_DebugDrawAdaptiveUrgency ai_DebugDrawAmbientFire ai_DebugDrawAStarOpenList ai_DebugDrawBannedNavsos ai_DebugDrawBulletEvents ai_DebugDrawCollisionEvents ai_DebugDrawCrowdControl ai_DebugDrawDamageControl ai_DebugDrawDamageParts ai_DebugDrawDeadBodies ai_DebugDrawDynamicHideObjectsRange ai_DebugDrawExpensiveAccessoryQuota ai_DebugDrawGrenadeEvents ai_DebugDrawHashSpaceAround ai_DebugDrawHidespotRange ai_DebugDrawLightLevel ai_DebugDrawObstrSpheres ai_DebugDrawPlayerActions ai_DebugDrawReinforcements ai_DebugDrawSoundEvents ai_DebugDrawStanceSize ai_DebugDrawVegetationCollisionDist ai_DebugDrawVolumeVoxels ai_DebugInterestSystem ai_DebugPathfinding ai_DebugTargetSilhouette ai_DrawagentFOV ai_DrawAreas ai_DrawBadAnchors ai_DrawDistanceLUT ai_DrawExplosions ai_DrawFakeDamageInd ai_DrawFakeHitEffects ai_DrawFakeTracers ai_DrawFormations ai_DrawGetEnclosingFailures ai_DrawGoals ai_DrawGroup ai_DrawGroupTactic ai_DrawHidespots ai_DrawModifiers ai_DrawNode ai_DrawNodeLinkCutoff ai_DrawNodeLinkType ai_DrawOffset ai_DrawPath ai_DrawPathAdjustment ai_DrawPatterns ai_DrawProbableTarget ai_DrawRadar ai_DrawRadarDist ai_DrawReadibilities ai_DrawRefPoints ai_DrawShooting ai_DrawSmartObjects ai_DrawStats ai_DrawTargets ai_DrawTrajectory ai_DrawType ai_DrawUpdate ai_DrawVisCheckQueue ai_DynamicTriangularUpdateTime ai_DynamicVolumeUpdateTime ai_DynamicWaypointUpdateTime ai_EnableAsserts ai_EnableWarningsErrors ai_ExtraForbiddenRadiusDuringBeautification ai_ExtraRadiusDuringBeautification ai_ExtraVehicleAvoidanceRadiusBig ai_ExtraVehicleAvoidanceRadiusSmall ai_ForceAllowStrafing ai_ForceLookAimTarget ai_ForceStance ai_HideDraw ai_IgnorePlayer ai_IgnoreVisibilityChecks ai_IncludeNonColEntitiesInNavigation ai_InterestDetectMovement ai_InterestEnableScan ai_InterestScalingAmbient ai_InterestScalingEyeCatching ai_InterestScalingMovement ai_InterestScalingScan ai_InterestScalingView ai_InterestSwitchBoost ai_InterestSystem ai_Locate ai_LogConsoleVerbosity ai_LogFileVerbosity ai_LogSignals ai_MaxSignalDuration ai_MaxVisRaysPerFrame ai_MovementSpeedDarkIllumMod ai_MovementSpeedMediumIllumMod ai_NoUpdate ai_ObstacleSizeThreshold ai_OverlayMessageDuration ai_PathfinderUpdateTime ai_PathfindTimeLimit ai_PredictivePathFollowing ai_ProfileGoals ai_ProtoROD ai_ProtoRODAffectMove ai_ProtoRODAliveTime ai_ProtoRODFireRange ai_ProtoRODGrenades ai_ProtoRODHealthGraph ai_ProtoRODLogScale ai_ProtoRODReactionTime ai_ProtoRODRegenTime ai_ProtoRODSilhuette ai_ProtoRODSpeedMod ai_PuppetDirSpeedControl ai_RadiusForAutoForbidden ai_Recorder ai_Recorder_Buffer ai_RecordFilter ai_RecordLog ai_RODAliveTime ai_RODAmbientFireInc ai_RODCombatRangeMod ai_RODCoverFireTimeMod ai_RODDirInc ai_RODKillRangeMod ai_RODKillZoneInc ai_RODLowHealthMercyTime ai_RODMoveInc ai_RODReactionDarkIllumInc ai_RODReactionDirInc ai_RODReactionDistInc ai_RODReactionLeanInc ai_RODReactionMediumIllumInc ai_RODReactionTime ai_RODStanceInc ai_SightRangeDarkIllumMod ai_SightRangeMediumIllumMod ai_SimpleWayptPassability ai_SmartObjectUpdateTime ai_SOMSpeedCombat ai_SOMSpeedRelaxed ai_SoundPerception ai_StatsTarget ai_SteepSlopeAcrossValue ai_SteepSlopeUpValue ai_SystemUpdate ai_ThreadedVolumeNavPreprocess ai_TickCounter ai_UpdateAllAlways ai_UpdateInterval ai_UpdateProxy ai_UseAlternativeReadability ai_UseCalculationStopperCounter ai_UseObjectPosWithExactPos ai_WaterOcclusion aln_debug_filter aln_debug_movement ban_timeout capture_file_format capture_folder capture_frames ca_AimIKFadeout ca_AnimationsUsageStatistics ca_AnimWarningLevel ca_AttachmentCullingRation ca_CharEditModel ca_DeathBlendTime ca_DebugAnimUpdates ca_DebugAnimUsage ca_debugCaps ca_DebugFacial ca_DebugFacialEyes ca_DebugFootPlants ca_DebugModelCache ca_DebugSkeletonEffects ca_DebugText ca_DecalSizeMultiplier ca_DisableAnimEvents ca_DrawAimPoses ca_DrawAttachmentOBB ca_DrawAttachments ca_DrawBBox ca_DrawBinormals ca_DrawBodyMoveDir ca_DrawCharacter ca_DrawDecalsBBoxes ca_DrawEmptyAttachments ca_DrawFaceAttachments ca_DrawFootPlants ca_DrawIdle2MoveDir ca_DrawLookIK ca_DrawMotionBlurTest ca_DrawNormals ca_DrawPositionPost ca_DrawPositionPre ca_DrawSkeleton ca_DrawTangents ca_DrawWireframe ca_DumpAssetStatistics ca_EnableAnimationLog ca_EnableAssetStrafing ca_EnableAssetTurning ca_EnableCoolReweighting ca_EnableCoolTransitions ca_eyes_procedural ca_FacialAnimationRadius ca_FootAnchoring ca_ForceNullAnimation ca_FPWeaponInCamSpace ca_GameControlledStrafing ca_GroundAlignment ca_JustRootUpdate ca_KeepModels ca_lipsync_debug ca_lipsync_phoneme_crossfade ca_lipsync_phoneme_offset ca_lipsync_phoneme_strength ca_lipsync_vertex_drag ca_LoadDatabase ca_LoadUncompressedChunks ca_lod_ratio ca_LogAnimation ca_MemoryUsageLog ca_NoAnim ca_NoDeform ca_PrintDesiredSpeed ca_Profile ca_RandomScaling ca_SaveAABB ca_SphericalSkinning ca_travelSpeedScaleMax ca_travelSpeedScaleMin ca_UnloadAimPoses ca_UseAimIK ca_UseAnimationsCache ca_UseDecals ca_UseFacialAnimation ca_UseLookIK ca_UseMorph ca_UsePhysics cl_actorsafemode cl_bandwidth cl_bob cl_camera_nearz cl_camera_noise cl_camera_noise_freq cl_crouchToggle cl_debugFreezeShake cl_debugSwimming cl_fov cl_fpBody cl_frozenAngleMax cl_frozenAngleMin cl_frozenKeyMult cl_frozenMouseMult cl_frozenSensMax cl_frozenSensMin cl_frozenSoundDelta cl_frozenSteps cl_gs_cdkey cl_gs_email cl_gs_nick cl_gs_password cl_headBob cl_headBobLimit cl_hitBlur cl_hitShake cl_hud cl_invertController cl_invertMouse cl_motionBlur cl_nearPlane cl_packetRate cl_righthand cl_screeneffects cl_sensitivity cl_sensitivityZeroG cl_serveraddr cl_serverpassword cl_serverport cl_shallowWaterDepthHi cl_shallowWaterDepthLo cl_shallowWaterSpeedMulAI cl_shallowWaterSpeedMulPlayer cl_sprintBlur cl_sprintShake cl_strengthscale cl_tpvDist cl_tpvYaw cl_voice_recording cl_voice_volume con_debug con_display_last_messages con_line_buffer_size con_restricted con_showonload c_shakeMult d3d10_CBUpdateMethod d3d10_CBUpdateStats d3d10_NumStagingBuffers d3d9_AllowSoftware d3d9_ClipPlanes d3d9_debugruntime d3d9_ForceSoftware d3d9_IBPools d3d9_IBPoolSize d3d9_NullRefDevice d3d9_NVPerfHUD d3d9_pip_buff_size d3d9_rb_Tris d3d9_rb_Verts d3d9_ResetDeviceAfterLoading d3d9_TextureFilter d3d9_TripleBuffering d3d9_VBPools d3d9_VBPoolSize demo_ai demo_file demo_fixed_timestep demo_max_frames demo_noinfo demo_num_runs demo_panormaic demo_profile demo_quit demo_restart_level demo_savestats demo_screenshot_frame demo_scroll_pause demo_time_of_day demo_vtune doc_validate_surface_types ds_AutoReloadScripts ds_LoadExcelScripts ds_LoadSoundsSync ds_LogLevel ds_PrecacheSounds ds_WarnOnMissingLoc dt_enable dt_meleeTime dt_time ed_killmemory_size es_activateEntity es_bboxes es_CharZOffsetSpeed es_deactivateEntity es_DebrisLifetimeScale es_debug es_DebugEvents es_DebugFindEntity es_DebugTimers es_debug_not_seen_timeout es_DrawAreaGrid es_DrawAreas es_enable_full_script_save es_FarPhysTimeout es_helpers es_HitCharacters es_HitDeadBodies es_ImpulseScale es_log_collisions es_MaxImpulseAdjMass es_MaxPhysDist es_MaxPhysDistInvisible es_MinImpulseVel es_not_seen_timeout es_OnDemandPhysics es_profileentities es_removeEntity es_sortupdatesbyclass es_SplashThreshold es_SplashTimeout es_UpdateAI es_UpdateCollision es_UpdateCollisionScript es_UpdateContainer es_UpdateEntities es_UpdatePhysics es_UpdateScript es_UpdateTimer es_UsePhysVisibilityChecks es_VisCheckForUpdate ExitOnQuit e_allow_cvars_serialization e_ambient_occlusion e_bboxes e_brushes e_cbuffer e_cbuffer_bias e_cbuffer_clip_planes_num e_cbuffer_debug e_cbuffer_debug_draw_scale e_cbuffer_debug_freeze e_cbuffer_draw_occluders e_cbuffer_hw e_cbuffer_lazy_test e_cbuffer_lc e_cbuffer_lights_debug_side e_cbuffer_max_add_render_mesh_time e_cbuffer_occluders_lod_ratio e_cbuffer_occluders_test_min_tris_num e_cbuffer_occluders_view_dist_ratio e_cbuffer_resolution e_cbuffer_terrain e_cbuffer_terrain_elevation_shift e_cbuffer_terrain_lod_ratio e_cbuffer_terrain_lod_shift e_cbuffer_terrain_max_distance e_cbuffer_test_mode e_cbuffer_tree_debug e_cbuffer_tree_depth e_cbuffer_version e_clouds e_cull_lights_per_triangle_min_obj_radius e_cull_veg_activation e_debug_draw e_debug_lights e_debug_mask e_decals e_decals_allow_game_decals e_decals_clip e_decals_hit_cache e_decals_life_time_scale e_decals_merge e_decals_neighbor_max_life_time e_decals_overlapping e_decals_precreate e_decals_range e_decals_wrap_around_min_size e_default_material e_deformable_objects e_detail_materials e_detail_materials_debug e_detail_materials_view_dist_xy e_detail_materials_view_dist_z e_detail_objects e_dissolve e_dissolve_transition_threshold e_dissolve_transition_time e_dynamic_light e_dynamic_light_consistent_sort_order e_dynamic_light_frame_id_vis_test e_entities e_EntitySuppressionLevel e_flocks e_flocks_hunt e_fog e_fogvolumes e_foliage_branches_damping e_foliage_branches_stiffness e_foliage_branches_timeout e_foliage_broken_branches_damping e_foliage_stiffness e_foliage_wind_activation_dist e_force_detail_level_for_resolution e_gsm_cache e_gsm_cache_lod_offset e_gsm_combined e_gsm_depth_bounds_debug e_gsm_lods_num e_gsm_range e_gsm_range_step e_gsm_range_step_terrain e_gsm_scatter_lod_dist e_gsm_stats e_gsm_view_space e_hw_occlusion_culling_objects e_hw_occlusion_culling_water e_joint_strength_scale e_level_auto_precache_camera_jump_dist e_level_auto_precache_terrain_and_proc_veget e_level_auto_precache_textures_and_shaders e_lods e_lod_max e_lod_min e_lod_min_tris e_lod_ratio e_lowspec_mode e_materials e_max_entity_lights e_max_view_dst e_max_view_dst_full_dist_cam_height e_max_view_dst_spec_lerp e_mesh_simplify e_obj e_obj_fast_register e_obj_quality e_obj_stats e_obj_tree_max_node_size e_obj_tree_min_node_size e_occlusion_culling_view_dist_ratio e_occlusion_volumes e_occlusion_volumes_view_dist_ratio e_on_demand_maxsize e_on_demand_physics e_particles e_particles_debug e_particles_lights e_particles_lod e_particles_max_emitter_draw_screen e_particles_min_draw_pixels e_particles_object_collisions e_particles_preload e_particles_quality e_particles_receive_shadows e_particles_thread e_phys_foliage e_phys_ocean_cell e_portals e_portals_big_entities_fix e_precache_level e_proc_vegetation e_proc_vegetation_max_view_distance e_profile_level_loading e_ram_DumpDXF e_ram_maps e_recursion e_recursion_occlusion_culling e_recursion_view_dist_ratio e_render e_roads e_ropes e_scene_merging e_scene_merging_compact_vertices e_scene_merging_max_time_ms e_scene_merging_max_tris_in_chunk e_scene_merging_min_merge_distance e_scene_merging_show_onlymerged e_scissor_debug e_screenshot e_screenshot_debug e_screenshot_file_format e_screenshot_height e_screenshot_map_camheight e_screenshot_map_center_x e_screenshot_map_center_y e_screenshot_map_size_x e_screenshot_map_size_y e_screenshot_min_slices e_screenshot_quality e_screenshot_width e_shadows e_shadows_cast_view_dist_ratio e_shadows_clouds e_shadows_debug e_shadows_from_terrain_in_all_lods e_shadows_frustums e_shadows_max_texture_size e_shadows_occ_check e_shadows_occ_cutCaster e_shadows_on_alpha_blended e_shadows_slope_bias e_shadows_water e_sketch_mode e_sky_box e_sky_quality e_sky_type e_sky_update_rate e_sleep e_stat_obj_merge e_stream_areas e_stream_cgf e_stream_for_physics e_stream_for_visuals e_sun e_sun_angle_snap_dot e_sun_angle_snap_sec e_sun_clipplane_range e_terrain e_terrain_ao e_terrain_bboxes e_terrain_deformations e_terrain_draw_this_sector_only e_terrain_lm_gen_threshold e_terrain_lod_ratio e_terrain_log e_terrain_normal_map e_terrain_occlusion_culling e_terrain_occlusion_culling_debug e_terrain_occlusion_culling_max_dist e_terrain_occlusion_culling_max_steps e_terrain_occlusion_culling_precision e_terrain_occlusion_culling_precision_dist_ratio e_terrain_occlusion_culling_step_size e_terrain_occlusion_culling_step_size_delta e_terrain_occlusion_culling_version e_terrain_texture_debug e_terrain_texture_lod_ratio e_terrain_texture_streaming_debug e_timedemo_frames e_timer_debug e_time_of_day e_time_of_day_speed e_time_smoothing e_vegetation e_vegetation_alpha_blend e_vegetation_bending e_vegetation_mem_sort_test e_vegetation_min_size e_vegetation_node_level e_vegetation_sphericalskinning e_vegetation_sprites e_vegetation_sprites_distance_custom_ratio_min e_vegetation_sprites_distance_ratio e_vegetation_sprites_min_distance e_vegetation_static_instancing e_vegetation_use_terrain_color e_vegetation_wind e_view_dist_custom_ratio e_view_dist_min e_view_dist_ratio e_view_dist_ratio_detail e_view_dist_ratio_vegetation e_volobj_shadow_strength e_voxel e_voxel_ao_radius e_voxel_ao_scale e_voxel_build e_voxel_debug e_voxel_fill_mode e_voxel_lods_num e_voxel_make_physics e_voxel_make_shadows e_voxel_rasterize_selected_brush e_water_ocean e_water_ocean_bottom e_water_ocean_fft e_water_ocean_soft_particles e_water_tesselation_amount e_water_tesselation_swath_width e_water_volumes e_water_waves e_water_waves_tesselation_amount e_wind e_wind_areas fg_abortOnLoadError fg_inspectorLog fg_noDebugText fg_profile fg_SystemEnable fixed_time_step
https://w.atwiki.jp/wayward_jp/pages/27.html
MOD WaywardはModがサポートされていて、公式Wikiでいくつか紹介されています。 (リンクはしていませんので使用する際は公式wikiからどうぞ。公式wikiトップのSub Wikis以下Saved Game StatesページからMods pageへと行けます。) 公式wikiのModの使用法 1.当該ページにて「Download Mod」リンクを右クリックし「名前をつけて保存」で任意の場所に保存する。 またはリンクをクリックしてブラウザ上で内容を表示させてからページを右クリックして「名前をつけて保存」する。 2.Waywardを起動し、オプションメニューの「Modding」から保存したファイルを読み込む。 Modリスト Better Save/Load from File セーブ直後にリロードが必要なエラーが起こらない。 オプションではなくメインメニューにセーブボタンを追加する ロードボタンは追加ファイルのインプットではなくファイル自体を要求する。 場所ごとにきれいなファイルネームを提案する。 Opera12でもデフォルトのファイルネームであれば動作する。 ローカルストレージ全体を保存するのではなく、実際のゲームデータだけを保存する。 以前のSave/Load from File MODのデータも読み込みできる。 対応バージョン:Beta 1.6+ Save/Load from File オプションページに、ローカルファイルにセーブデータを保存/読み込みできるボタンを追加する。 このModで作成されたセーブデータも公式wikiやフォーラムで公開されている。 対応バージョン:Beta 1.4+ Show World Map Cheat ワールドマップと洞窟マップをオプションメニューのボタンで表示できるようにする。 対応バージョン:Beta 1.6+ / Free 1.9.4 + ... //公式wikiのものを少しだけ改変、画面左下メニューの「Skills」の次に表示ON/OFFボタンを移動させています //バージョン1.9.4 Free版で動作確認済 - スイッチの人 $("#actionsopen").parent().append(' button type="button" id="showMap" Show Map /button '); $("#showMap").css("background-color","rgb(64,64,128)"); $("#actionsopen").parent().on("click","#showMap",function(e){ if($("#map").css("display")=="block"){$("#map").hide()}else{$("#map").show()} e.preventDefault() }); Tweakward かなり発展したModで、ゲームプレイの改善し磨きをかけることを試みた。完全に動作させるにはModをロードしてから新しいゲームを始める(自殺する)必要がある。今はまだ自動でロードは出来ないので、始める度にModをロードする必要がある。今後も開発が続けられる予定。 対応バージョン:Beta 1.6+ EzEdit 以下のMODを一度に導入する。 Save/Load from File Show World Map Cheat EzRenderTile EzItemGet Selective Monster Spawner 対応バージョン:Beta 1.5 Monster Party 最大100のモンスターを周囲に出現させる。スポーンするモンスターの種類はタレント値と地形に依存する(通常のスポーンと同じになる)。 対応バージョン:Beta 1.6+ Unmovable Chests Fix 岩の上や洞窟の入口などにある箱(や他の周囲のアイテム)を入手する。このModをロードするとアクセスを復活させるためにそれらのものの下に土ができる。 対応バージョン:全て? 野良Mod テキストファイルにコピペしてmodで読み込む 入れ物 containerに耐久基本値を付ける これによってrepairやreinforceが出来るようになる。 + ... items.smallbag.durability = 10; items.backpack.durability = 20; items.leatherquiver.durability = 40; 値はお好みで。 苗木 「枝」から「苗木」が作れるようになる。 + ... items.sapling.recipe={requires [["branch", 1, 1]],skill "botany",level "Advanced"}; for(var i = 0; i player.crafted.length; i++)if(player.crafted[i] === "sapling")player.crafted.splice(i,1); 上の苗木modを使わなくなったら再起動のあと実行しましょう。 modを使った事によって出来たちょっとしたゴミを消してくれます。 実行しなくても影響ははい(はず) たいまつ 持続ターン + ... items.poletorch_lit.decayable[0] = 1000; items.barktorch_lit.decayable[0] = 4000; items.animalfattorch_lit.decayable[0] = 14000; 値はお好みで。↑は全部4倍した値 鶏 鳥肉が食べたい。羽を毟りたい。そんな貴方に + ... 非推奨 for(var i=0;i 0xB;i++)for(var j=0;j 0xB;j++)spawnMonster("chicken", player.x+player.direction.x*6-5+i, player.y+player.direction.y*6-5+j); passTurn(false); 推奨 spawnMonster("chicken", player.x+player.direction.x, player.y+player.direction.y); passTurn(false); ↑の変則版、モンスター呼び出し。 モンスターと戦いたい、そんな君に……。 + ... 魚類はちょっと特殊 spawnMonster("rabbit", player.x+player.direction.x, player.y+player.direction.y); passTurn(false); //spawnMonster("rabbit"の"ここに"↓の英文名を書き込むと目の前にモンスターが出現します。 //ただし、目の前に障害物や既にモンスターが存在する場合は出現しません。 //rabbit = うさぎ //slime = スライム //jellycube = ゼリーキューブ //rat = 鼠 //giantrat = 大きな鼠 //chicken = ニワトリ //harpy = ハーピー //giantspider = 大きな蜘蛛 //trapdoorspider = トラップドアスパイダー //snake = 蛇 //bear = 熊 //vampirebat = 吸血コウモリ //greywolf = グレイウルフ //imp = インプ //bogling = ボグリング //livingrock = リビングロック //zombie = ゾンビ //skeleton = スケルトン //pirateghost = パイレーツゴースト //timeskitter = タイムスキッター //fireelemental = ファイヤーエレメンタル //hobgoblin = ホブゴブリン //livingmushroom = リビングマッシュルーム //kraken = クラーケン //↓水が目の前にある場合のみ出現 //blindfish = 盲目魚 //shark = 鮫 //trout = マス 沼設置 peatを設置すると沼が出来るように + ... items.peat.use = ["stokeFire", "placeTile"], items.peat.onUse = {stokeFire 4, placeTile "swamp"} 変異種 変異種.txt 黒色火薬 A.製作時、多く作る B.発砲時、耐久にダメージ 大きなミニマップ nキーで大きなミニマップを表示。 敵表示有り。txt編集で非表示に出来るようにしてる。 ver0.0.2 ver 0.0.2 地下の事を忘れていたのでその修正。 クラフティングテーブル追加 茶色い領域にアイテムを並べるとそこからクラフトします 適当にアイテムを選ばれるのが嫌な人に craftingtable_v100.js ご利用は計画的に アイテム発生Mod + ... //日本語化の後に読み込むとアイテム名だけ日本語化 //二回読み込むと削除 if(document.getElementById('ItemGetMod') === null){ $("#optionswindow").append(' div id="ItemGetMod" / '); $("#ItemGetMod").append(' p ItemGetMod /p select id="ItemGetMod_ItemList" size="5" / '); for(var itemType in items){ $('#ItemGetMod_ItemList').append(' option value="' + itemType + '" ' + ItemGetMod_ItemList.length + " " + items[itemType].name + ' /option '); } ItemGetMod_ItemList.selectedIndex = 0; $("#ItemGetMod").append(' select id = "ItemGetMod_QualityList" size="5" \ option value = "" Durability /option \ option value = "Remarkable" Remarkable /option \ option value = "Exceptional" Exceptional /option \ option value = "Legendary" Legendary /option \ option value = "Random" selected Random /option \ /select '); $("#ItemGetMod").append(' button type="button" id="ItemGetMod_ItemGetButton" Get /button '); $("#ItemGetMod").on("click", '#ItemGetMod_ItemGetButton', function(e) { itemGet({type ItemGetMod_ItemList.value, quality ItemGetMod_QualityList.value}); craftTable() }); } else { var delTargetElement=document.getElementById('ItemGetMod'); delTargetElement.parentNode.removeChild(delTargetElement); } チェンジタイル タイルのパターンはセーブされないので悪しからず + ... //チェンジタイル //タイルのパターンはセーブされないので悪しからず //二回読み込むと削除 if(document.getElementById('ChangeTileMod') === null){ $("#optionswindow").append(' div id="ChangeTileMod" / '); $("#ChangeTileMod").append(' p ChangeTileMod /p '); $("#ChangeTileMod").append(' select id="ChangeTileMod_TileList" size="5" / '); for(var TileType in tiletypes){ $('#ChangeTileMod_TileList').append(' option value="' + TileType + '" ' + ChangeTileMod_TileList.length + " " + tiletypes[TileType].name + ' /option '); } ChangeTileMod_TileList.selectedIndex = 0; $("#ChangeTileMod").append(' select id="ChangeTileMod_PatternList" size="5" / '); $("#ChangeTileMod_PatternList").append(' option value="0" 0 /option '); $("#ChangeTileMod_PatternList").append(' option value="1" 1 /option '); $("#ChangeTileMod_PatternList").append(' option value="2" 2 /option '); $("#ChangeTileMod_PatternList").append(' option value="Random" selected Random /option '); $("#ChangeTileMod").append(' button type="button" id="ChangeTileMod_ChangeTileButton" Change /button '); $("#ChangeTileMod").on("click", '#ChangeTileMod_ChangeTileButton', function(e) { changeTile({type ChangeTileMod_TileList.value}, player.x + player.direction.x, player.y + player.direction.y, false); if(ChangeTileMod_PatternList.value == "Random"){ tile[player.x + player.direction.x][player.y + player.direction.y].gfx = Math.floor(Math.random() * 3); } else { tile[player.x + player.direction.x][player.y + player.direction.y].gfx = ChangeTileMod_PatternList.value; } passTurn(false); }); } else { var delTargetElement=document.getElementById('ChangeTileMod'); delTargetElement.parentNode.removeChild(delTargetElement); } ・いろいろスイッチ&インベントリエディタ&技術情報 ※ゲームバランス崩壊待ったなし + ... //いろいろスイッチ version 0.12c //=== スイッチ類説明 === //◆ボタン群 (押す度に発動) //[Health][Stamina][FOOD][WATER]それぞれライフ・スタミナ・満腹度・水分全快 //[Bad]毒・やけど・切り傷回復 //[HPSTBAD]ライフ・スタミナ・状態異常全快(満腹度・水分は以外) //[All]上記全て全快 //[converge map]インベントリ内の全てのボロボロの地図の目的場所を自分の足元へ(コンテナ・カバン内のものは除外) //[Find Drop]落ちているアイテムを近い順にログに表示 //[Find Placed]設置されているアイテムを近い順にログに表示 //[Find Ore]木の実、鉱物、沼地、灰、雪などの資源を近い順にログに表示 //※地上にいるときは地下のものは表示されません、また地下にいるときは地上のものは表示されません //※検索結果表示数の初期値は10です // mod_recover_saveData.findCount = 20 // と入力すると表示数が20件に変更されます、緑色のsaveボタンを押した時点での値が保存されます //[soundBuff Clear]予約済みのサウンドエフェクトを全て削除します //[invClean]現在持っているアイテムの最大ID以降の未使用領域を消去します //メインで所持するもの以外を全てカバンやチェストに保管することで最大の効果を得ることができます //上記2つとメッセージウィンドウ下部の[Clear Messages]ボタンを押すことで長時間プレイ時の処理の重さを低減します //◆スイッチ群 (押すと有効、もう一度押すと無効) //[AutoRecover]ライフとスタミナが常に全快状態 //[AlwaysDaylight]常に昼、洞窟内も昼 //[Ignore Weight]重さ超過を無視 //[fresh sea]海水を淡水に(水袋・ガラス瓶で海を整地可能)、地下エリアの暗闇部分を砂利に //[Skillgrow]スキル上昇判定時に必ずスキル経験上昇・スキル100%キャップ解除 //[Delay cut]行動待ち時間をスキップ(オプションの「Smooth Movement/動作を滑らかにする」をONにしていると効果無し) //[SpeedCraft]製作待ち時間をスキップ //[Dig100%]必ず掘れる、対象のマスを掘った時に取得できる可能性があるアイテムを全て取得する //[infinityGun]saltpeter(硝石)無しで銃が撃てる、銃弾は別途必要 //[Map100%]瓶入りの手紙を開けると必ず宝の地図が出る //[holeySkin]holey(穴あき)、空の水袋で淡水を汲んでも水が満たされない、海水は汲める //[dropAllExtend]深い淡水・深い海水に向かってアイテムを「全て置く」と、まとめて捨てます(コンテナ・カバン・装備中・QuickSlot内は除外) // 地面に置く場合も、装備中・QuickSlotのアイテムは除外します //[pickupAll]踏んだら全部拾う //[MultiCreate]ボタンはクラフトテーブルの上に生成されます、1クリックで素材が続く限り同じアイテムを作成します、HP減少時に中断します //[taintFree]耐久減少と腐敗を無くす //[autoCarve]死体を踏んで、移動するときに足元にある死体と血痕を全て切り出し(消費ターンは1) //[ugCulture]地下に植物を植えることができます //[RottenMeat]製作から腐った肉を作成できます //[calcWeight]カバン・コンテナ等を開けた時やアイテムを入れた時に、入っているアイテム数、現在の重量、空き重量が表示されます //[waterClean]キャンプファイアに向かっていなくても脱塩水、浄化水を作成できるようになります //[immotalFire]キャンプファイア・かまど・炉・金床・トーチスタンドの火が消えなくなる //v0.11更新 //ボタンの状態を保存する処理を追加しました、saveボタンで現在の状態を保存できます(押さないと保存されません) //modを読み込んだ時に保存された情報があれば自動で適用されます //ウィンドウ幅の保存・読込ができなかったため、スクリプト先頭に幅を指定する変数(mod_recover_width)を付加しています //v0.11b更新 //multiCreateボタンの設定が正常に保存・読み出しされるように修正 //v0.11c更新 //[female]コメントログにあったプレイヤー画像 [(名無しさん) 2014-01-30 06 03 11] 差し替えテスト //v0.11d更新 //[offalNOTmeat]内臓の属性(堆肥・肉)を解除します、ONにすると内臓の使い道がマジカルエッセンスと腱の2つだけになります //v0.11e更新 //[offalNOTmeat]ボタン操作時に製作テーブルも更新 //[DurMax]使用した素材の耐久値に関わらず製作品の耐久値がMAXに、最大耐久値はランダムのまま //v0.11f更新 //[popAberrant]ONの状態でモンスターがポップした場合、必ず変異種になる…はずです //[DurMax]現在耐久値を最大耐久値と同じにするよう修正 //v0.11g更新 //[multiCreate]一括作成の対象から装備品・クイックスロットのアイテムを除外 //v0.12更新 //[Find Drop]/[Find Placed]/[Find Ore]の探索用ボタンを追加 //[SoundBuff Clear]/[InvClean]のメンテナンスボタンを追加 //読み込み時に[MultiCreate]ボタンを必ずoffにするよう変更 //mod_recoverの表示/非表示切り替えボタンの位置をオプションウィンドウ内部からメイン画面左下の[Skills]ボタンの次に変更 //mod_recoverウィンドウの位置を保存するよう変更 //緑色の[save]ボタンを押した際にゲーム全体を保存するよう変更 //既知の不具合 //製作した壁を設置した後に回収すると耐久力がおかしくなって再設置できない //→コメントログにあるとおり下記のコマンドを貼り付けて対処をお願いします、このコードを使用すると耐久力の表示を修正します //for(var itm in player.invItems){if(!isFinite(player.invItems[itm].mindur)){player.invItems[itm].mindur=player.invItems[itm].maxdur}} //ロード直後に十字キーが効かないことがあります //→画面をクリックして一度でもキャラの方向を変えると以降正しく反応します //Findボタンを押したときに方向表示が文字化けする //→v0.12bで修正済 //Find Oreボタンが1件しか表示してくれない //→v0.12cでmod_recover_saveData.findCountを参照するよう修正済 Messages.debug="_0_";var f_ret=false;var buttondebug=false;var mod_recover_saveData=[];initSaveData();function _msg(a,c,b){if(!c){c=""}if(b==""||b===undefined||b===null){b="debug"}ui.message(b,c,[a])}function initSaveData(){mod_recover_saveData.left=0;mod_recover_saveData.top=0;mod_recover_saveData.width=560;mod_recover_saveData.height=140;mod_recover_saveData.recoverAuto=false;mod_recover_saveData.alwaysDaylight=false;mod_recover_saveData.ignoreWeight=false;mod_recover_saveData.freshWater=false;mod_recover_saveData.skillGrow=false;mod_recover_saveData.delaycut=false;mod_recover_saveData.speedCraft=false;mod_recover_saveData.successDig=false;mod_recover_saveData.infinityGun=false;mod_recover_saveData.treasureMap=false;mod_recover_saveData.holeySkin=false;mod_recover_saveData.dropAllEx=false;mod_recover_saveData.pickupAll=false;mod_recover_saveData.taintFree=false;mod_recover_saveData.autoCarve=false;mod_recover_saveData.ugCulture=false;mod_recover_saveData.rottenMeat=false;mod_recover_saveData.calcWeight=false;mod_recover_saveData.waterClean=false;mod_recover_saveData.immotalFire=false;mod_recover_saveData.female=false;mod_recover_saveData.offalNOTmeat=false;mod_recover_saveData.DurMax=false;mod_recover_saveData.Aberrant=false;mod_recover_saveData.findCount=10}function sw(b,a){if(b.indexOf("#")!=0){b="#"+b}if(a==""||a==undefined||a==null){a="black"}if($(b).css("background-color")=="rgb(0, 0, 0)"){a="orange"}$(b).css("background-color",a)}function appendfunc_addNewWindow(a){$("#afterload").prepend(' div id="'+a+'_root" / ');$("#"+a+"_root").prepend(' div id="'+a+'_window" class="window" title='+a+'" / ');$("#"+a+"_window").dialog({width 500,height 140,autoOpen true,closeOnEscape false,title a});$("#mod_root").append(' button id="'+a+'_visible" '+a+" /button ");$("#mod_root").on("click","#"+a+"_vibible",function(b){if($("#"+a+"_window").dialog("isOpen")){$("#"+a+"_window").dialog("close")}else{$("#"+a+"_window").dialog("open")}})}if(document.getElementById("mod_root")===null){$("#optionswindow").append(' div id="mod_root" / ');$("#optionswindow").append(' div id="mod_disp" / ')}if(document.getElementById("mod_recover_root")==null){$("#actionsopen").parent().append(' button id="mod_recover_visible" mod_recover /button ');$("#mod_recover_visible").css("background-color","rgba(150,150,0,0.6)");$("#afterload").prepend(' div id="mod_recover_root" / ');$("#mod_recover_root").prepend(' div id="mod_recover_window" class="window" title="mod_recover" / ');$("#mod_recover_window").dialog({width mod_recover_saveData.width,height 140,autoOpen true,closeOnEscape false,title "mod_recover"});$("#mod_recover_window").append(' div id="mod_recover_window_top" / ');$("#mod_recover_window_top").append(' div id="recover" / ');$("#recover").append(' button type="button" id="recover_Health" Health /button button type="button" id="recover_Stamina" Stamina /button button type="button" id="recover_Hunger" Food /button button type="button" id="recover_Thirst" WATER /buttion button type="button" id="recover_BadStatus" Bad /button button type="button" id="recover_HealthStaminaBadStatus" HPSTBAD /button button type="button" id="recover_All" All /button ');$("#recover").append(' | button id="mod_convergeMap" collectMap /button ');$("#recover").append(' | button id="mod_recover_save" save /button ');$("#recover").on("click","#mod_recover_save",function(a){mod_recover_save();_msg("mod_recover button status saved.");saveGame()});$("#mod_recover_save").css("background-color","green");$("#recover").append(' | button id="mod_searchDrop" Find Drop /button ');$("#recover").on("click","#mod_searchDrop",function(a){appendfunc_searchDropItem()});$("#recover").append(' button id="mod_searchPlaced" Find Placed /button ');$("#recover").on("click","#mod_searchPlaced",function(a){appendfunc_searchPlacedItem()});$("#recover").append(' button id="mod_findOre" Find Ore /button ');var oreSonar=[];isInitoreSonar=false;$("#recover").on("click","#mod_findOre",function(a){if(!isInitoreSonar){appendfunc_oreSonarInit();isInitoreSonar=true}appendfunc_oreSonarVerify()});$("#recover").append(' | button id="mod_SoundFlush" SoundBuff Clear /button ');$("#recover").on("click","#mod_SoundFlush",function(a){ui.message("debug","",[audio.soundList.length+" Soundbuffer flushed"]);audio.soundList=[]});$("#recover").append(' | button id="mod_invClean" InvClean /button hr ');$("#recover").on("click","#mod_invClean",function(c){var a=0;for(var b=player.invItems.length-1;b =0;b--){if(!player.invItems[b]){player.invItems.splice(b,1);a++}else{break}}ui.message("debug","",["invIndex="+player.invItems.length+"(-"+a+" buffer)"])});function appendfunc_convergeMap(){f_ret=false;var a=0;for(itemType in player.invItems){if(player.invItems[itemType].type=="tatteredmap"){a++;player.invItems[itemType].props[0]=player.x;player.invItems[itemType].props[1]=player.y}}if(a =1){ui.message("debug","",[a+" tatteled maps in your inventry pointing on your foot!"]);f_ret=true}else{ui.message("debug","",["You have no tattered map."]);f_ret=false}delete a;return f_ret}$("#recover").on("click","#mod_convergeMap",function(a){appendfunc_convergeMap()});$("#recover_Health").css("background-color","orange");$("#recover_Stamina").css("background-color","#00EA0B");$("#recover_Hunger").css("background-color","purple");$("#recover_Thirst").css("background-color","#0033FF");$("#mod_recover_button").on("click","#recover_Visible",function(a){if($("#recover").css("display")=="none"){$("#recover").css("display","block")}else{$("#recover").css("display","none")}});function appendfunc_recover(a,b){f_ret=false;switch(a){case"health" if(player.strength==player.health){if(!b){_msg("recover Health needless.","bad");return false}}else{if(!b){_msg(player.strength-player.health,"","gainedHealth")}player.health=player.strength;f_ret=true}break;case"stamina" if(player.stamina==player.dexterity){if(!b){_msg("recover Stamina needless.","bad");return false}}else{if(!b){_msg(player.dexterity-player.stamina,"","gainedStamina")}player.stamina=player.dexterity;f_ret=true}break;case"hunger" if(player.hunger==player.starvation){if(!b){_msg("recover Food needless.","bad");f_ret=false}}else{if(!b){_msg(player.starvation-player.hunger,"","gainedHunger")}player.hunger=player.starvation;f_ret=true}break;case"thirst" if(player.thirst==player.dehydration){if(!b){_msg("recover Thirst needless.","bad");f_ret=false}}else{if(!b){_msg(player.dehydration-player.thirst,"","gainedThirst")}player.thirst=player.dehydration;f_ret=true}break;case"bad" if(player.status.bleeding){if(!b){_msg("","","curedBleeding")}player.status.bleeding=false;f_ret=true}if(player.status.burning){if(!b){_msg("","","curedBurning")}player.status.burning=false;f_ret=true}if(player.status.poisoned){if(!b){_msg("","","curedPoison")}player.status.poisoned=false;f_ret=true}if(!b !f_ret){_msg("recover Bad needless.","bad")}break}return f_ret}$("#recover").on("click","#recover_Health",function(a){appendfunc_recover("health");passTurn(false)});$("#recover").on("click","#recover_Stamina",function(a){appendfunc_recover("stamina");passTurn(false)});$("#recover").on("click","#recover_Hunger",function(a){appendfunc_recover("hunger");passTurn(false)});$("#recover").on("click","#recover_Thirst",function(a){appendfunc_recover("thirst");passTurn(false)});$("#recover").on("click","#recover_BadStatus",function(a){appendfunc_recover("bad");passTurn(false)});$("#recover").on("click","#recover_HealthStaminaBadStatus",function(b){var a=false;a=appendfunc_recover("health",true)||a;a=appendfunc_recover("stamina",true)||a;a=appendfunc_recover("bad",true)||a;if(a){_msg("Health Stamina Bad Status recovered.")}else{_msg("recover HPSTBAD needless.","bad")}delete a;passTurn(false)});$("#recover").on("click","#recover_All",function(b){var a=false;a=appendfunc_recover("health",true)||a;a=appendfunc_recover("stamina",true)||a;a=appendfunc_recover("hunger",true)||a;a=appendfunc_recover("thirst",true)||a;a=appendfunc_recover("bad",true)||a;if(a){_msg("You are completely recovered.")}else{_msg("recover All needless.","bad")}delete a;passTurn(false)});function chk_recoverAuto(){if(passTurn.toString().indexOf("dexterity")==-1){return false}else{return true}}function appendfunc_recoverAuto(){f_ret=false;var prev1="game.staminaTimer++;";var new_1="game.staminaTimer++;player.health=player.strength;player.stamina=player.dexterity;";if(!chk_recoverAuto()){passTurn=eval("("+passTurn.toString().replace(prev1,new_1)+")");sw("#recover_auto","orange");f_ret=true}else{passTurn=eval("("+passTurn.toString().replace(new_1,prev1)+")");sw("#recover_auto");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append(' button type="button" id="recover_auto" AutoRecover /button ');if(passTurn.toString().indexOf("dexterity")!=-1){sw("#recover_auto","orange")}$("#recover").on("click","#recover_auto",function(a){appendfunc_recoverAuto()});function chk_alwaysDaylight(){if(lighting.toString().indexOf("player.light = 0;")==-1){return false}else{return true}}function appendfunc_alwaysDaylight(){f_ret=false;var prev1="var lightLevel = player.light;";var new_1="player.light = 0;var lightLevel = player.light;";var prev2="player.x game.mapSize";var new_2="player.x game.mapSize * 3";if(!chk_alwaysDaylight()){lighting=eval("("+lighting.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_AlwaysDaylight","orange");f_ret=true}else{lighting=eval("("+lighting.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_AlwaysDaylight","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append(' button id="mod_AlwaysDaylight" Always Daylight /button ');if(lighting.toString().indexOf("player.light = 0;")!=-1){sw("#mod_AlwaysDaylight","orange")}$("#recover").on("click","#mod_AlwaysDaylight",function(a){appendfunc_alwaysDaylight()});function chk_ignoreWeight(){if(player.checkWeight.toString().indexOf("0===1")==-1){return false}else{return true}}function appendfunc_ignoreWeight(){f_ret=false;var prev1="player.weight player.strength + 15";var new_1="0===1";var prev2="Utilities.roundNumber(contWeight + items[player.invItems[itemId].type].weight, 1) maxWeight";var new_2="0===1";if(!chk_ignoreWeight()){player.checkWeight=eval("("+player.checkWeight.toString().replace(prev1,new_1)+")");dropItem=eval("("+dropItem.toString().replace(prev2,new_2)+")");sw("#mod_ignoreWeight","orange");f_ret=true}else{player.checkWeight=eval("("+player.checkWeight.toString().replace(new_1,prev1)+")");dropItem=eval("("+dropItem.toString().replace(new_2,prev2)+")");sw("#mod_ignoreWeight","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append(' button id="mod_ignoreWeight" Ignore Weight /button ');if(player.checkWeight.toString().indexOf("0===1")!=-1){sw("#mod_ignoreWeight","orange")}$("#recover").on("click","#mod_ignoreWeight",function(a){appendfunc_ignoreWeight()});function chk_freshWater(){if(tile.edited==undefined){return false}else{return true}}function appendfunc_freshWater(){f_ret=false;if(!chk_freshWater()){tile.edited=true}else{delete tile.edited}for(var b=0;b 1024;b++){for(var a=0;a 512;a++){if(tile.edited){if(tile[b][a].type=="water"){tile[b][a].type="freshwater";tile[b][a].q="water"}if(tile[b][a].type=="shallowwater"){tile[b][a].type="freshshallowwater";tile[b][a].q="shallowwater"}if(tile[b][a].type=="deepwater"){tile[b][a].type="freshdeepwater";tile[b][a].q="deepwater"}if(tile[b][a].type=="darkness"){tile[b][a].type="sand";tile[b][a].q="darkness"}}else{if(tile[b][a].q){if(tile[b][a].type=="freshwater" tile[b][a].q=="water"){tile[b][a].type=tile[b][a].q}if(tile[b][a].type=="freshshallowwater" tile[b][a].q=="shallowwater"){tile[b][a].type=tile[b][a].q}if(tile[b][a].type=="freshdeepwater" tile[b][a].q=="deepwater"){tile[b][a].type=tile[b][a].q}if(tile[b][a].type=="sand" tile[b][a].q=="darkness"){tile[b][a].type=tile[b][a].q}delete tile[b][a].q}}}}if(tile[0][0].q){sw("#mod_freshWater","orange");f_ret=true}else{sw("#mod_freshWater","black");f_ret=false}delete b;delete a;return f_ret}$("#recover").append(' button id="mod_freshWater" fresh sea /button ');if(tile.edited){sw("#mod_freshWater","orange")}$("#recover").on("click","#mod_freshWater",function(a){appendfunc_freshWater()});function chk_skillGrow(){if(player.skillGain.toString().indexOf("0===0")==-1){return false}else{return true}}function appendfunc_skillGrow(){f_ret=false;var prev1="this.skills[skillType].percent = skillChance this.skills[skillType].percent 100 || bypass";var new_1="0===0";var prev2="this.skills[skillType].core 100";var new_2="this.skills[skillType].core == 100";if(!chk_skillGrow()){player.skillGain=eval("("+player.skillGain.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_skillGrow","orange");f_ret=true}else{player.skillGain=eval("("+player.skillGain.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_skillGrow","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append(' button id="mod_skillGrow" Skillgrow /button ');if(player.skillGain.toString().indexOf("0===0")!=-1){$("#mod_skillGrow").css("background-color","orange")}$("#recover").on("click","#mod_skillGrow",function(a){appendfunc_skillGrow()});function chk_delaycut(){if(render.toString().indexOf("ui.keyTimer=0")==-1){return false}else{return true}}function appendfunc_delaycut(){f_ret=false;prev1="ui.keyTimer++";new_1="ui.keyTimer=0;game.delay=0;";if(!chk_delaycut()){render=eval("("+render.toString().replace(prev1,new_1)+")");sw("#mod_delaycut","orange");f_ret=true}else{render=eval("("+render.toString().replace(new_1,prev1)+")");sw("#mod_delaycut","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append(' button id="mod_delaycut" Delay cut /button ');if(render.toString().indexOf("ui.keyTimer++")==-1){sw("#mod_delaycut","orange")}$("#recover").on("click","#mod_delaycut",function(a){appendfunc_delaycut()});function chk_speedCraft(){if($._data($("#craft").get(0)).events.mouseup[0].handler.toString().indexOf("0 === 0")==-1){return false}else{return true}}function appendfunc_speedCraft(){f_ret=false;var ue2=$._data($("#craft").get(0)).events.mouseup[0].handler.toString();if(ue2.indexOf("0 === 0")==-1){ue2=ue2.replace("ui.keyTimer = 20","0 === 0");sw("#mod_speedCraft","orange");f_ret=true}else{ue2=ue2.replace("0 === 0","ui.keyTimer = 20");sw("#mod_speedCraft","black");f_ret=false}$("#craft").off("mouseup",".craft").on("mouseup",".craft",eval("("+ue2+")"));delete ue2;return f_ret}$("#recover").append(' button id="mod_speedCraft" SpeedCraft /button ');if($._data($("#craft").get(0)).events.mouseup[0].handler.toString().indexOf("0 === 0")!=-1){sw("#mod_speedCraft","orange")}$("#recover").on("click","#mod_speedCraft",function(a){appendfunc_speedCraft()});function chk_successDig(){if(player.actions.dig.toString().indexOf("itemChance = 0;")==-1){return false}else{return true}}function appendfunc_successDig(){f_ret=false;var prev1="var getItem = false;";var new_1="var getItem = false;itemChance = 0;";var prev2="var item = {";var new_2="for(var i=0;i =resource[tileType].length-1;i++){var item = {";var prev3="newTileType = cave;";var new_3="newTileType = cave;}";var prev4="type resource[tileType][resourceType][0]";var new_4="type resource[tileType][i][0]";var prev5="regathered) {";var new_5="regathered==='a'){";if(!chk_successDig()){player.actions.dig=eval("("+player.actions.dig.toString().replace(prev1,new_1).replace(prev2,new_2).replace(prev3,new_3).replace(prev4,new_4).replace(prev5,new_5)+")");sw("#mod_successDig","orange");f_ret=true}else{player.actions.dig=eval("("+player.actions.dig.toString().replace(new_1,prev1).replace(new_2,prev2).replace(new_3,prev3).replace(new_4,prev4).replace(new_5,prev5)+")");sw("#mod_successDig","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;delete prev3;delete new_3;delete prev4;delete new_4;delete prev5;delete new_5;return f_ret}$("#recover").append(' button id="mod_successDig" Dig100% /button ');if(player.actions.dig.toString().indexOf("itemChance = 0;")!=-1){sw("#mod_successDig","orange")}$("#recover").on("click","#mod_successDig",function(a){appendfunc_successDig()});function chk_infinityGun(){if(player.actions.fire.toString().indexOf("infinity bullet")==-1){return false}else{return true}}function appendfunc_infinityGun(){f_ret=false;var prev1="removeItem(blackpowder.itemId, 'INV', blackpowder.containerId);";var new_1="console.log('infinity bullet');";var prev2="!blackpowder";var new_2="0===1";if(!chk_infinityGun()){player.actions.fire=eval("("+player.actions.fire.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_infinityGun","orange");f_ret=true}else{player.actions.fire=eval("("+player.actions.fire.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_infinityGun","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append(" button id=mod_infinityGun infinityGun /button ");if(player.actions.fire.toString().indexOf("infinity bullet")!=-1){sw("#mod_infinityGun","orange")}$("#recover").on("click","#mod_infinityGun",function(a){appendfunc_infinityGun()});function chk_treasureMap(){if(player.actions.openBottle.toString().indexOf("Math.random() * 1 + 1")==-1){return false}else{return true}}function appendfunc_treasureMap(){f_ret=false;var prev1="Math.random() * 4";var new_1="Math.random() * 1 + 1";if(!chk_treasureMap()){player.actions.openBottle=eval("("+player.actions.openBottle.toString().replace(prev1,new_1)+")");sw("#mod_treasureMap","orange");f_ret=true}else{player.actions.openBottle=eval("("+player.actions.openBottle.toString().replace(new_1,prev1)+")");sw("#mod_treasureMap","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append(" button id=mod_treasureMap Map100% /button ");if(player.actions.openBottle.toString().indexOf("Math.random() * 1 + 1")!=-1){sw("#mod_treasureMap","orange")}$("#recover").on("click","#mod_treasureMap",function(a){appendfunc_treasureMap()});function chk_holeySkin(){if(player.actions.fillWater.toString().indexOf("e = 'unpurifiedfreshwaterwaterskin'")!=-1){return false}else{return true}}function appendfunc_holeySkin(){f_ret=false;var prev1="e = 'unpurifiedfreshwaterwaterskin'";var new_1="e = 'waterskin'";if(!chk_holeySkin()){player.actions.fillWater=eval("("+player.actions.fillWater.toString().replace(prev1,new_1)+")");sw("#mod_holeySkin","orange");f_ret=true}else{player.actions.fillWater=eval("("+player.actions.fillWater.toString().replace(new_1,prev1)+")");sw("#mod_holeySkin","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append(" button id=mod_holeySkin holeySkin /button ");if(chk_holeySkin()){sw("#mod_holeySkin","orange")}$("#recover").on("click","#mod_holeySkin",function(a){appendfunc_holeySkin()});function chk_dropAllEx(){if(dropItem.toString().indexOf("if(dropAll)")==-1){return false}else{return true}}function appendfunc_dropAllEx(){f_ret=false;var prev1="ui.message('waterDrop', 'normal', [items[itemType].name]);";var new_1=prev1+"if(dropAll){for(var playerItem=0;playerItem player.invItems.length;playerItem++){if(player.invItems[playerItem]!==undefined player.invItems[playerItem]!==null){if(player.invItems[playerItem].type===itemType !player.invItems[playerItem].quickSlotted !player.invItems[playerItem].equipped){removeItem(playerItem,'INV',false)}}}audio.queueSfx('water');passTurn(true);return}";var prev2="player.invItems[playerItem].type === itemType";var new_2=prev2+" !player.invItems[playerItem].equipped !player.invItems[playerItem].quickSlotted";if(!chk_dropAllEx()){dropItem=eval("("+dropItem.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_dropAllEx","orange");f_ret=true}else{dropItem=eval("("+dropItem.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_dropAllEx","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append(" button id=mod_dropAllEx dropAllExtend /button ");if(chk_dropAllEx()){sw("#mod_dropAllEx","orange")}$("#recover").on("click","#mod_dropAllEx",function(a){appendfunc_dropAllEx()});function chk_pickupAll(){if(checkUnderPlayer.toString().indexOf("while")==-1){return false}else{return true}}function appendfunc_pickupAll(){f_ret=false;var prev1="var keys = Object.keys(tile[playerX][playerY].tileitems);";var new_1=prev1+"while(keys.length =1){";var prev2='ui.hintDisplay("fastpickup");';var new_2=prev2+"}keys.pop();";if(!chk_pickupAll()){checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(prev1,new_1).replace(prev2,new_2)+")");$("#mod_pickupAll").css("background-color","orange");f_ret=true}else{checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(new_1,prev1).replace(new_2,prev2)+")");$("#mod_pickupAll").css("background-color","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append(' button type="button" id="mod_pickupAll" pickupAll /button ');if(chk_pickupAll()){sw("#mod_pickupAll","orange")}$("#recover").on("click","#mod_pickupAll",function(a){appendfunc_pickupAll()});function chk_multiCreate(){if(craftItem.toString().indexOf("tmpHealth")==-1){return false}else{return true}}function appendfunc_multiCreate(){f_ret=false;var turnUpdate=false;var prev1="var consumes = [];";var new_1='do{var turnUpdate=false;craftMsg="";'+prev1;var tmpHealth=player.health;"+prev1";var prev2="return !failed;\r\n }";var new_2="}}while(craftMsg!='' tmpHealth = player.health);passTurn(true);return !failed;";var prev3="passTurn(true)";var new_3="passTurn(false)";var prev4="ui.$equip.find('li')";var new_4="/*"+prev4;var prev5="// get";var new_5="*/"+prev5;if(!chk_multiCreate()){craftItem=eval("("+craftItem.toString().replace(prev1,new_1).replace(prev2,new_2).replace(prev3,new_3).replace(prev4,new_4).replace(prev5,new_5)+")");sw("#mod_multiCreate","orange");f_ret=true}else{craftItem=eval("("+craftItem.toString().replace(new_1,prev1).replace(new_2,prev2).replace(new_3,prev3).replace(new_4,prev4).replace(new_5,prev5)+")");sw("#mod_multiCreate","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;delete prev3;delete new_3;delete prev4;delete new_4;delete prev5;delete new_5;delete tmpHealth;return f_ret}$(' div id="mod_multiCreate_frame" button type="button" id="mod_multiCreate" MultiCreate /button /div ').insertBefore($("#craftwindow"));if(chk_multiCreate()){sw("#mod_multiCreate","orange")}$("#mod_multiCreate_frame").on("click","#mod_multiCreate",function(a){appendfunc_multiCreate()});function decreaseDur(b,a){return b}function decreaseDecay(b,a){return b}function chk_taintFree(){if(player.actions.attack.toString().indexOf("ammo.mindur--")!=-1){return false}else{return true}}function appendfunc_taintFree(){f_ret=false;var prev1="ammo.mindur--;";var new_1="decreaseDur(ammo,'player.actions.attack-1');";var prev2="weapon.mindur--;";var new_2="decreaseDur(weapon,'player.actions.attack-2');";var prev3="item.mindur = tileItem.mindur - 1;";var new_3="decreaseDur(tileItem,'player.actions.dig');item.mindur = tileItem.mindur;";var prev4="tileItem.mindur - 1;";var new_4="decreaseDur(tileItem,'player.actions.gather');";var prev5="itemGet({";var new_5="decreaseDur(envItems[id],'gatherEnvItems');itemGet({";var prev6="envItems[id].mindur - 1,";var new_6="envItems[id].mindur,";var prev7="item.mindur -= 1;";var new_7="decreaseDur(item,'damageItem');";var prev8="item.mindur = tileItem.mindur - 1;";var new_8="decreaseDur(tileItem,'actionsmenu.pickup-door');item.mindur = tileItem.mindur;";var prev9="envItems[envId].decay--;";var new_9="decreaseDecay(envItems[envId],'environmentalDecay');";var prevA="envItems[envId].decay--;";var new_A="decreaseDecay(envItems[envId],'environmentalDecay');";var prevB="decayContainer[containerItem].decay--;";var new_B="decreaseDecay(decayContainer[containerItem],'decayItemsInContainer')";var prevC="player.invItems[invItem].decay--;";var new_C="decreaseDecay(player.invItems[invItem],'passTurn-1')";var prevD="tileItems[tileItemsKey[i2]].decay--;";var new_D="decreaseDecay(tileItems[tileItemsKey[i2]],'passTurn-2');";if(!chk_taintFree()){player.actions.attack=eval("("+player.actions.attack.toString().replace(prev1,new_1).replace(prev2,new_2)+")");player.actions.dig=eval("("+player.actions.dig.toString().replace(prev3,new_3)+")");player.actions.gather=eval("("+player.actions.gather.toString().replace(prev4,new_4)+")");gatherEnvItems=eval("("+gatherEnvItems.toString().replace(prev5,new_5).replace(prev6,new_6)+")");damageItem=eval("("+damageItem.toString().replace(prev7,new_7)+")");var pickupdoorfunc=$._data(ui.$actionsMenu.get(0),"events")["mouseup"][5].handler.toString().replace(prev8,new_8);ui.$actionsMenu.off("mouseup",".pickup-door").on("mouseup",".pickup-door",eval("("+pickupdoorfunc+")"));decayItemsInContainer=eval("("+decayItemsInContainer.toString().replace(prevB,new_B)+")");passTurn=eval("("+passTurn.toString().replace(prevC,new_C).replace(prevD,new_D)+")");$("#mod_taintFree").css("background-color","orange");f_ret=true}else{player.actions.attack=eval("("+player.actions.attack.toString().replace(new_1,prev1).replace(new_2,prev2)+")");player.actions.dig=eval("("+player.actions.dig.toString().replace(new_3,prev3)+")");player.actions.gather=eval("("+player.actions.gather.toString().replace(new_4,prev4)+")");gatherEnvItems=eval("("+gatherEnvItems.toString().replace(new_5,prev5).replace(new_6,prev6)+")");damageItem=eval("("+damageItem.toString().replace(new_7,prev7)+")");var pickupdoorfunc=$._data(ui.$actionsMenu.get(0),"events")["mouseup"][5].handler.toString().replace(new_8,prev8);ui.$actionsMenu.off("mouseup",".pickup-door").on("mouseup",".pickup-door",eval("("+pickupdoorfunc+")"));decayItemsInContainer=eval("("+decayItemsInContainer.toString().replace(new_B,prevB)+")");passTurn=eval("("+passTurn.toString().replace(new_C,prevC).replace(new_D,prevD)+")");sw("#mod_taintFree","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;delete prev3;delete new_3;delete prev4;delete new_4;delete prev5;delete new_5;delete prev6;delete new_6;delete prev7;delete new_7;delete prev8;delete new_8;delete prev9;delete new_9;delete prevA;delete new_A;delete prevB;delete new_B;delete prevC;delete new_C;delete prevD;delete new_D;delete pickupdoorfunc;return f_ret}$("#recover").append(' button type="button" id="mod_taintFree" taintFree /button ');if(player.actions.attack.toString().indexOf("ammo.mindur--")==-1){sw("#mod_taintFree","orange")}$("#recover").on("click","#mod_taintFree",function(a){appendfunc_taintFree()});function gatherEnvItemsEx(itemId){(eval("("+gatherEnvItems.toString().replace("passTurn(true)","passTurn(false)")+")"))(itemId)}function chk_autoCarve(){if(checkUnderPlayer.toString().indexOf("gatherUnderPlayer()")==-1){return false}else{return true}}function appendfunc_autoCarve(){f_ret=false;prev1="return true;";new_1="gatherUnderPlayer();return true;";if(!chk_autoCarve()){checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(prev1,new_1)+")");sw("#mod_autoCarve","orange");f_ret=true}else{checkUnderPlayer=eval("("+checkUnderPlayer.toString().replace(new_1,prev1)+")");sw("#mod_autoCarve","black");f_ret=false}delete prev1;delete new_1;return f_ret}function gatherUnderPlayer(){f_ret=false;if(tile[player.x][player.y].envItemList){for(itemLocation=tile[player.x][player.y].envItemList.length-1;itemLocation =0;itemLocation--){var b=false;var a=tile[player.x][player.y].envItemList[itemLocation];if(!game.isValidPickUp(a)){}else{if(environmentals[envItems[a].type].carve){if(environmentals[envItems[a].type].blood){createParticles(environmentals[envItems[a].type].blood[0],environmentals[envItems[a].type].blood[1],environmentals[envItems[a].type].blood[2])}else{createParticles(210,5,5);b=true}}if(b){placeEnvItem({type "blood",x envItems[a].x,y envItems[a].y,quality ""});ui.message("removeBlood","normal");gatherEnvItemsEx(tile[player.x][player.y].envItemList[tile[player.x][player.y].envItemList.length-1])}console.log(envItems[a].type);if(envItems[a].type.indexOf("_corpse")!=-1||envItems[a].type.indexOf("blood")!=-1){ui.message("carveCorpse","normal");if(envItems[a].type==="pirateghost_corpse"){addMilestone("reaperofsouls")}gatherEnvItemsEx(a)}}}}return}$("#recover").append(' button type="button" id="mod_autoCarve" autoCarve /button ');if(checkUnderPlayer.toString().indexOf("gatherUnderPlayer()")!=-1){sw("#mod_autoCarve","orange")}$("#recover").on("click","#mod_autoCarve",function(a){appendfunc_autoCarve()});function chk_ugCulture(){if(environmentals.thistle.cavegrow==true){return true}else{return false}}function appendfunc_ugCulture(){f_ret=false;var a=false;var b=["grassseeds_ground","sapling_ground","yellowflowers","tallgrass","thistle","wildonion_ground","cotton_ground"];if(!chk_ugCulture()){a=true}for(var c in environmentals){if($.inArray(c,b) =0){environmentals[c].cavegrow=a;if(environmentals[c].cavegrow==false){delete environmentals[c].cavegrow}}}if(a){sw("#mod_ugCulture","orange")}else{sw("#mod_ugCulture","black")}f_ret=a;delete b;delete c;delete a;return f_ret}$("#recover").append(' button type="button" id="mod_ugCulture" ugCulture /button ');if(environmentals.thistle.cavegrow){sw("#mod_ugCulture","orange")}$("#recover").on("click","#mod_ugCulture",function(a){appendfunc_ugCulture()});function chk_rottenMeat(){if(items.rottenmeat.recipe){return true}else{return false}}function appendfunc_rottenMeat(){if(!chk_rottenMeat()){items.rottenmeat.recipe={requires [["meat",1,1]],level "expert",skill "cooking"};sw("#mod_rottenMeat","orange");craftTable();f_ret=true}else{for(var a=0;a player.crafted.length;a++){if(player.crafted[a]==="rottenmeat"){player.crafted.splice(a,1)}}delete items.rottenmeat.recipe;sw("#mod_rottenMeat","black");craftTable();f_ret=false}return f_ret}$("#recover").append(' button type="button" id="mod_rottenMeat" RottenMeat /button ');if(items.rottenmeat.recipe){sw("#mod_rottenMeat","orange")}$("#recover").on("click","#mod_rottenMeat",function(a){appendfunc_rottenMeat()});function getWeightStr(f,d){f_ret="";var c=0;var a=0;var b=0;if(d=="INV"){for(var e in player.invItems[f].container){if(player.invItems[f].container[e]===null){}else{c++;b+=items[player.invItems[f].container[e].type].weight}}a=items[player.invItems[f].type].maxWeight-b.toFixed(1)}else{for(var e in envItems[f].container){if(envItems[f].container[e]===null){}else{c++;b+=items[envItems[f].container[e].type].weight}}a=environmentals[envItems[f].type].maxWeight-b.toFixed(1)}a=a.toFixed(1);if(a 0){a="Maximum weight"}f_ret=" ("+c+" items, weight "+b.toFixed(1)+"["+a+" free])";delete c;delete a;delete b;return f_ret}function chk_calcWeight(){if(player.actions.openContainer.toString().indexOf("getWeightStr")==-1){return false}else{return true}}function appendfunc_calcWeight(){f_ret=false;var prev1="ui.message(\"youOpenThe\", 'normal', [containerName]);";var new_1="ui.message(\"youOpenThe\", 'normal', [containerName+getWeightStr(id,type)]);";if(!chk_calcWeight()){player.actions.openContainer=eval("("+player.actions.openContainer.toString().replace(prev1,new_1)+")");sw("#mod_calcWeight","orange");f_ret=true}else{player.actions.openContainer=eval("("+player.actions.openContainer.toString().replace(new_1,prev1)+")");sw("#mod_calcWeight","black");f_ret=false}delete prev1;delete new_1;return f_ret}$("#recover").append(' button type="button" id="mod_calcWeight" calcWeight /button ');if(player.actions.openContainer.toString().indexOf("getWeightStr")!=-1){sw("#mod_calcWeight","orange")}$("#recover").on("click","#mod_calcWeight",function(a){appendfunc_calcWeight()});function chk_waterClean(){if(items.purifiedfreshwaterwaterskin.recipe.requiredenv!=undefined){return false}else{return true}}function appendfunc_waterClean(){if(!chk_waterClean()){delete items.purifiedfreshwaterwaterskin.recipe.requiredenv;delete items.purifiedfreshwaterglassbottle.recipe.requiredenv;delete items.desalinatedwaterwaterskin.recipe.requiredenv;delete items.desalinatedwaterglassbottle.recipe.requiredenv;sw("#mod_waterClean","orange");f_ret=true}else{items.purifiedfreshwaterwaterskin.recipe.requiredenv="campfire_lit";items.purifiedfreshwaterglassbottle.recipe.requiredenv="campfire_lit";items.desalinatedwaterwaterskin.recipe.requiredenv="campfire_lit";items.desalinatedwaterglassbottle.recipe.requiredenv="campfire_lit";sw("#mod_waterClean","black");f_ret=false}return f_ret}$("#recover").append(' button type="button" id="mod_waterClean" waterClean /button ');if(items.purifiedfreshwaterwaterskin.recipe.requiredenv==undefined){sw("#mod_waterClean","orange")}$("#recover").on("click","#mod_waterClean",function(a){appendfunc_waterClean()});function chk_immotalFire(){if(environmentals.campfire_lit.decay==undefined){return true}else{return false}}function appendfunc_immotalFire(){f_ret=false;var a=false;var c=["campfire_lit","kiln_lit","forgeandanvil_lit","furnace_lit","torchstand_lit"];var b=[60,75,60,75];if(!chk_immotalFire()){a=true}for(var d in environmentals){if($.inArray(d,c) =0){if(a==false){environmentals[d].decay=b[$.inArray(d,c)]}else{delete environmentals[d].decay}}}f_ret=a;if(a==true){sw("#mod_immotalFire","orange")}else{sw("#mod_immotalFire","black")}delete c;delete b;delete a;return f_ret}$("#recover").append(' button type="button" id="mod_immotalFire" immotalFire /button ');if(environmentals.campfire_lit.decay==undefined){sw("#mod_immotalFire","orange")}$("#recover").on("click","#mod_immotalFire",function(a){appendfunc_immotalFire()});function chk_female(){if(player.characterSprite.src.indexOf("female")==-1){return false}else{return true}}function appendfunc_female(){f_ret=false;var a="http //www.unlok.ca/wayward/images/character.png";var b="http //www55.atwiki.jp/wayward_jp?cmd=upload act=open pageid=27 file=character_female.png";if(!chk_female()){player.characterSprite.src=b;sw("#mod_female","orange");f_ret=true}else{player.characterSprite.src=a;sw("#mod_female","black");f_ret=false}delete a;delete b;passTurn(false);return f_ret}$("#recover").append(' button type="button" id="mod_female" female /button ');if(player.characterSprite.src.indexOf("female")!=-1){sw("#mod_female","orange")}$("#recover").on("click","#mod_female",function(a){appendfunc_female()});function chk_offalNOTmeat(){if(items.offal.group==undefined){return true}else{return false}}function appendfunc_offalNOTmeat(){f_ret=false;if(!chk_offalNOTmeat()){delete items.offal.group;sw("#mod_offalNOTmeat","orange");f_ret=true}else{items.offal.group=["compost","meat"];sw("#mod_offalNOTmeat","black");f_ret=false}craftTable();return f_ret}$("#recover").append(' button type="button" id="mod_offalNOTmeat" offalNOTmeat /button ');if(chk_offalNOTmeat()){sw("#mod_offalNOTmeat","orange")}$("#recover").on("click","#mod_offalNOTmeat",function(a){appendfunc_offalNOTmeat()});function chk_DurMax(){if(craftItem.toString().indexOf("items[craftType].maxdur;")==-1){return false}else{return true}}function appendfunc_DurMax(){f_ret=false;var prev1="minDur = itemDurability.originalMinimum;";var new_1="minDur = itemDurability.originalMaximum ;";var prev2="maxDur = itemDurability.originalMaximum;";var new_2="madXur = items[craftType].maxdur;";if(!chk_DurMax()){craftItem=eval("("+craftItem.toString().replace(prev1,new_1).replace(prev2,new_2)+")");sw("#mod_DurMax","orange");f_ret=true}else{craftItem=eval("("+craftItem.toString().replace(new_1,prev1).replace(new_2,prev2)+")");sw("#mod_DurMax","black");f_ret=false}delete prev1;delete new_1;delete prev2;delete new_2;return f_ret}$("#recover").append(' button type = "button" id="mod_DurMax" DurMax /button ');if(chk_DurMax()){sw("#mod_DurMax","orange")}$("#recover").on("click","#mod_DurMax",function(a){appendfunc_DurMax()});function chk_Aberrant(){if(spawnMonster.toString().indexOf("forceAberrant=true;")==-1){return false}else{return true}}function appendfunc_Aberrant(){f_ret=false;prev1="var aberrantChance = 0;";new_1="forceAberrant=true;"+prev1;if(!chk_Aberrant()){spawnMonster=eval("("+spawnMonster.toString().replace(prev1,new_1)+")");sw("#mod_Aberrant","orange");f_ret=true}else{spawnMonster=eval("("+spawnMonster.toString().replace(new_1,prev1)+")");sw("#mod_Aberrant","black");f_ret=false}delete prev1;delete new_1;return f_ret}function appendfunc_searchDropItem(){function b(j,i){if(j.far i.far){return 1}else{return-1}}var c=0;var a=0;var k=0;var h="";var g="";var d=[];ui.message("debug","bad",["===start DropitemSearch==="]);for(var f=0;f =tileItems.length;f++){if(!tileItems[f]){}else{if(player.x =512){if(tileItems[f].x 512){c=player.x-tileItems[f].x;a=player.y-tileItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type tileItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}else{if(tileItems[f].x =512){c=player.x-tileItems[f].x;a=player.y-tileItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type tileItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}}}d.sort(b);for(var e=1;e =(d.length =mod_recover_saveData.findCount?mod_recover_saveData.findCount d.length);e++){ui.message("debug","",["#"+e+" - "+d[e-1].type+"("+d[e-1].dirX+d[e-1].x+","+d[e-1].dirY+d[e-1].y+")[far "+d[e-1].far+"]"])}if(d.length==0){ui.message("debug","",["No item found."])}else{ui.message("debug","",[d.length+" items"])}delete c;delete a;delete h;delete g;delete k;delete dropCount;d=""}function appendfunc_searchPlacedItem(){function b(j,i){if(j.far i.far){return 1}else{return-1}}var c=0;var a=0;var k=0;var h="";var g="";var d=[];ui.message("debug","bad",["===start PlaceditemSearch==="]);for(var f=0;f =envItems.length;f++){if(!envItems[f]){}else{if(envItems[f].type!="woodenchest_unlocked"){if(player.x =512){if(envItems[f].x 512){c=player.x-envItems[f].x;a=player.y-envItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type envItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}else{if(envItems[f].x =512){c=player.x-envItems[f].x;a=player.y-envItems[f].y;if(c =0){h=decodeURI("%E2%86%92")}else{h=decodeURI("%E2%86%90")}if(a =0){g=decodeURI("%E2%86%93")}else{g=decodeURI("%E2%86%91")}k=Math.abs(c)+Math.abs(a);d.push({type envItems[f].type,x Math.abs(c),y Math.abs(a),dirX h,dirY g,far k})}}}}}d.sort(b);for(var e=1;e =(d.length =mod_recover_saveData.findCount?mod_recover_saveData.findCount d.length);e++){ui.message("debug","",["#"+e+" - "+d[e-1].type+"("+d[e-1].dirX+d[e-1].x+","+d[e-1].dirY+d[e-1].y+")[far "+d[e-1].far+"]"])}if(d.length==0){ui.message("debug","",["No item found."])}else{ui.message("debug","",[d.length+" items"])}delete c;delete a;delete h;delete g;delete k;delete dropCount;d=""}function appendfunc_oreSonarInit(){function d(g,f){if(g.far f.far){return 1}else{return-1}}var a="";var e=false;for(var c=0;c =1023;c++){for(var b=0;b =511;b++){if(tile[c][b].type=="coalrock"||tile[c][b].type=="ironrock"||tile[c][b].type=="limestonerock"||tile[c][b].type=="talcrock"||tile[c][b].type=="ironsandstone"||tile[c][b].type=="nitersandstone"||tile[c][b].type=="ash"||tile[c][b].type=="snow"){a="ore ";e=true}if(tile[c][b].type=="berryforest"||tile[c][b].type=="fungusforest"||tile[c][b].type=="vineforest"||tile[c][b].type=="swamp"||tile[c][b].type=="coconutspalm"){a="forest";e=true}if(e){oreSonar.push({group a,x c,y b,type tile[c][b].type,relX player.x-c,relY player.y-b,far Math.abs(player.x-c)+Math.abs(player.y-b),dirX (player.x-c =0?decodeURI("%E2%86%92") decodeURI("%E2%86%90")),dirY (player.y-b =0?decodeURI("%E2%86%91") decodeURI("%E2%86%93"))});e=false}}}oreSonar.sort(d)}function appendfunc_oreSonarVerify(){function d(g,f){if(g.far f.far){return 1}else{return-1}}var e=false;var b=1;var a=[0,0];for(var c=oreSonar.length;c =0;c--){if(!oreSonar[c]){}else{if(tile[oreSonar[c].x][oreSonar[c].y].type==oreSonar[c].type){oreSonar[c].relX=player.x-oreSonar[c].x;oreSonar[c].relY=player.y-oreSonar[c].y;oreSonar[c].far=Math.abs(oreSonar[c].relX)+Math.abs(oreSonar[c].relY);oreSonar[c].dirX=(oreSonar[c].relX 0?decodeURI("%E2%86%90") decodeURI("%E2%86%92"));oreSonar[c].dirY=(oreSonar[c].relY 0?decodeURI("%E2%86%91") decodeURI("%E2%86%93"));if(oreSonar[c].x =511){a[0]++}else{a[1]++}}else{oreSonar.splice(c,1)}}}oreSonar.sort(d);ui.message("debug","bad",["===start oreSearch==="]);for(c=1;c =oreSonar.length;c++){if(player.x =511){if(oreSonar[c-1].x =511){e=true}}else{if(oreSonar[c-1].x =512){e=true}}if(e){ui.message("debug","",["#"+b+" - "+oreSonar[c-1].type+"("+oreSonar[c-1].dirX+Math.abs(oreSonar[c-1].relX)+","+oreSonar[c-1].dirY+Math.abs(oreSonar[c-1].relY)+")[far "+oreSonar[c-1].far+"]"]);b++;e=false;if(c==oreSonar.length||b mod_recover_saveData.findCount){break}}}if(b==1){ui.message("debug","",["No item found."])}else{if(player.x =511){ui.message("debug","",[a[0]+" items"])}else{ui.message("debug","",[a[1]+" items"])}}}$("#recover").append(' button type="button" id="mod_Aberrant" popAberrant /button ');if(chk_Aberrant()){sw("#mod_Aberrant","orange")}$("#recover").on("click","#mod_Aberrant",function(a){appendfunc_Aberrant()});function mod_recover_save(){mod_recover_saveData.left=$("#recover").parent().parent().parent().css("left");mod_recover_saveData.top=$("#recover").parent().parent().parent().css("top");mod_recover_saveData.width=$("#mod_recover_window").css("width");mod_recover_saveData.height=$("#mod_recover_window").css("height");mod_recover_saveData.recoverAuto=chk_recoverAuto();mod_recover_saveData.alwaysDaylight=chk_alwaysDaylight();mod_recover_saveData.ignoreWeight=chk_ignoreWeight();mod_recover_saveData.freshWater=chk_freshWater();mod_recover_saveData.skillGrow=chk_skillGrow();mod_recover_saveData.delaycut=chk_delaycut();mod_recover_saveData.speedCraft=chk_speedCraft();mod_recover_saveData.successDig=chk_successDig();mod_recover_saveData.infinityGun=chk_infinityGun();mod_recover_saveData.treasureMap=chk_treasureMap();mod_recover_saveData.holeySkin=chk_holeySkin();mod_recover_saveData.dropAllEx=chk_dropAllEx();mod_recover_saveData.pickupAll=chk_pickupAll();mod_recover_saveData.taintFree=chk_taintFree();mod_recover_saveData.autoCarve=chk_autoCarve();mod_recover_saveData.ugCulture=chk_ugCulture();mod_recover_saveData.rottenMeat=chk_rottenMeat();mod_recover_saveData.calcWeight=chk_calcWeight();mod_recover_saveData.waterClean=chk_waterClean();mod_recover_saveData.immotalFire=chk_immotalFire();mod_recover_saveData.multiCreate=chk_multiCreate();mod_recover_saveData.female=chk_female();mod_recover_saveData.offalNOTmeat=chk_offalNOTmeat();mod_recover_saveData.DurMax=chk_DurMax();mod_recover_saveData.Aberrant=chk_Aberrant();localStorage.setItem("mod_recover_saveData",JSON.stringify(mod_recover_saveData))}function mod_recover_load(){mod_recover_saveData=JSON.parse(localStorage.getItem("mod_recover_saveData"));for(prop in mod_recover_saveData){if(prop=="left"){$("#recover").parent().parent().parent().css("left",mod_recover_saveData.left)}if(prop=="top"){$("#recover").parent().parent().parent().css("top",mod_recover_saveData.top)}if(prop=="height"){$("#mod_recover_window").css("height",mod_recover_saveData.height)}if(prop=="width"){$("#mod_recover_window").css("height",mod_recover_saveData.width)}if(prop=="recoverAuto"){if(mod_recover_saveData[prop]!=chk_recoverAuto()){appendfunc_recoverAuto()}}if(prop=="alwaysDaylight"){if(mod_recover_saveData[prop]!=chk_alwaysDaylight()){appendfunc_alwaysDaylight()}}if(prop=="ignoreWeight"){if(mod_recover_saveData[prop]!=chk_ignoreWeight()){appendfunc_ignoreWeight()}}if(prop=="freshWater"){if(mod_recover_saveData[prop]!=chk_freshWater()){appendfunc_freshWater()}}if(prop=="skillGrow"){if(mod_recover_saveData[prop]!=chk_skillGrow()){appendfunc_skillGrow()}}if(prop=="delaycut"){if(mod_recover_saveData[prop]!=chk_delaycut()){appendfunc_delaycut()}}if(prop=="speedCraft"){if(mod_recover_saveData[prop]!=chk_speedCraft()){appendfunc_speedCraft()}}if(prop=="successDig"){if(mod_recover_saveData[prop]!=chk_successDig()){appendfunc_successDig()}}if(prop=="infinityGun"){if(mod_recover_saveData[prop]!=chk_infinityGun()){appendfunc_infinityGun()}}if(prop=="treasureMap"){if(mod_recover_saveData[prop]!=chk_treasureMap()){appendfunc_treasureMap()}}if(prop=="holeySkin"){if(mod_recover_saveData[prop]!=chk_holeySkin()){appendfunc_holeySkin()}}if(prop=="dropAllEx"){if(mod_recover_saveData[prop]!=chk_dropAllEx()){appendfunc_dropAllEx()}}if(prop=="pickupAll"){if(mod_recover_saveData[prop]!=chk_pickupAll()){appendfunc_pickupAll()}}if(prop=="taintFree"){if(mod_recover_saveData[prop]!=chk_taintFree()){appendfunc_taintFree()}}if(prop=="autoCarve"){if(mod_recover_saveData[prop]!=chk_autoCarve()){appendfunc_autoCarve()}}if(prop=="ugCulture"){if(mod_recover_saveData[prop]!=chk_ugCulture()){appendfunc_ugCulture()}}if(prop=="rottenMeat"){if(mod_recover_saveData[prop]!=chk_rottenMeat()){appendfunc_rottenMeat()}}if(prop=="calcWeight"){if(mod_recover_saveData[prop]!=chk_calcWeight()){appendfunc_calcWeight()}}if(prop=="waterClean"){if(mod_recover_saveData[prop]!=chk_waterClean()){appendfunc_waterClean()}}if(prop=="immotalFire"){if(mod_recover_saveData[prop]!=chk_immotalFire()){appendfunc_immotalFire()}}if(prop=="multiCreate"){if(mod_recover_saveData[prop]!=chk_multiCreate()){appendfunc_multiCreate()}}if(prop=="female"){if(mod_recover_saveData[prop]!=chk_female()){appendfunc_female()}}if(prop=="offalNOTmeat"){if(mod_recover_saveData[prop]!=chk_offalNOTmeat()){appendfunc_offalNOTmeat()}}if(prop=="DurMax"){if(mod_recover_saveData[prop]!=chk_DurMax()){appendfunc_DurMax()}}if(prop=="Aberrant"){if(mod_recover_saveData[prop]!=chk_Aberrant()){appendfunc_Aberrant()}}}}mod_recover_load();$("#actionsopen").parent().on("click","#mod_recover_visible",function(a){if($("#mod_recover_window").dialog("isOpen")){$("#mod_recover_window").dialog("close")}else{$("#mod_recover_window").dialog({width mod_recover_saveData.width,height 140,autoOpen true,closeOnEscape false});$("#recover").parent().parent().parent().css("top",mod_recover_saveData.top);$("#recover").parent().parent().parent().css("left",mod_recover_saveData.left)}})}else{var delTargetElement=document.getElementById("mod_recover_root");delTargetElement.parentNode.removeChild(delTargetElement);delTargetElement=document.getElementById("mod_recover_visible");delTargetElement.parentNode.removeChild(delTargetElement);delTargetElement=document.getElementById("mod_multiCreate_frame");delTargetElement.parentNode.removeChild(delTargetElement);$("#mod_multiCreate_frame").off("click","#mod_multiCreate");$("#mod_recover_window").dialog("destroy");$("#mod_recover_window").dialog("widget").remove();delete delTargetElement}; インベントリエディタ ver0.01c + ... //試作品、オプションウィンドウの下に貼り付きます、再読み込みで消滅します //値を編集後、「update」ボタンを押すと適用されます //アイテムを落として拾い直したりすると内部ID(アイテム名の右側の数字)が変わるので、使用前に逐次「Refresh」ボタンを押してください //コンテナ・カバンの中身や地面に落ちているアイテム等、メインインベントリに入っていないアイテムは対象外です //PCのスペックにも依存しますが、IDが大きくなってくると処理が遅くなりますので、再起動の目安にもどうぞ //内部的なDecay(使用期限)無しは-1です、-1の値が入っている時は背景が灰色になります // 未実装・不具合等 //数値を入力すべきボックスに文字や全角数字を入力するとそのうちNaNエラーが出ると思います(未検証)、半角数字で入力してください //品質を変更しても枠線の色は変わりません、従来どおり捨てて拾い直す必要がありますが、その際はRefreshボタンも忘れずに //入力ボックスの背景が灰色の箇所は処理を飛ばしています、Decayなど、-1にしたものを再度5000などの有効な数値に変更することはできません //[修正済]フルキー1~9を押すとクイックスロットのアイテムを使用してしまうため、数字を入力する際は必ずテンキーを使用してください //ver0.01bでキーバインド割り込み処理を追加しました、テキストボックス入力にフルキーも使用できます(砂型を投げたりする事故が防げます) //但し、上に紹介のある「大きなミニマップ」等の、ui.$documentのkeydown処理を書き換えるmodを後から読み込むと割り込み処理が解除されます //キーバインドを書き換えるmodよりも後に読み込めば両方動きます //ver0.01c 耐久等の数値を書き換える際に文字列型になっていたバグを今更修正 // Messages.debug="_0_";var ignoreID=["itemCheat_curdurability","itemCheat_maxdurability","itemCheat_decayable","itemCheat_bonusValue"];var appendkeybind=$._data(ui.$document.get(0), "events")["keydown"][0].handler.toString();if(appendkeybind.indexOf(ignoreID[0])==-1){var basekeybindstr="ui.$code.is";var tmpkeybindstr='(" focus")){return true}else if($("#ignoreID[i]").is';var keybindstr="";for(var i=0;i =ignoreID.length;i++){keybindstr=keybindstr+tmpkeybindstr.replace("ignoreID[i]",ignoreID[i])}appendkeybind=appendkeybind.replace(basekeybindstr,basekeybindstr+keybindstr);ui.$document.unbind("keydown").bind("keydown",eval("("+appendkeybind+")"));delete besekeybindstr;delete tmpkeybindstr;delete keybindstr;}if(document.getElementById("itemCheat") === null){$("#optionswindow").append(' div id="itemCheat" / ');$("#itemCheat").append(" hr p @@mod_invCheat@@ /p ");$("#itemCheat").append(' select id="itemCheat_invList" size="8" / ');$("#itemCheat_invList").css("float","left").css("margin","5px");for(var i=0;i =player.invItems.length;i++){if(!player.invItems[i]){}else{$("#itemCheat_invList").append(' option value="'+i+'" '+i+' '+items[player.invItems[i].type].name+' /option ');}}$("#itemCheat").append(' button type="button" id="itemCheat_refresh" Refresh /button nbsp; button type="button" id="itemCheat_update" update /button /p ');$("#itemCheat").append('CurDur input id="itemCheat_curdurability" size="5" / nbsp;MaxDur input id="itemCheat_maxdurability" size="5" / ');$("#itemCheat").append('Decay nbsp; nbsp; input id="itemCheat_decayable" size="5" / br / ');$("#itemCheat").append(' div style = "float left" Quality select id="itemCheat_quality" size="4" / nbsp br / /div ');$("#itemCheat").append(' div style = "float left" Bonus nbsp; select id="itemCheat_bonusType" size="4" / nbsp; input id="itemCheat_bonusValue" size="3" / /div ');for(var skillType in player.skills){ $("#itemCheat_bonusType").append(' option value='+skillType+' '+player.skillTypes[skillType].name+' /option ')}$("#itemCheat_quality").append(' option value="Normal" Normal /option option value="Remarkable" Remarkable /option option value="Exceptional" Exceptional /option option value="Legendary" Legendary /option ');$("#itemCheat").append(' div id="itemCheat_clearboth" style="clear both" / ');$("#itemCheat").on("click","#itemCheat_refresh",function(e){$("#itemCheat_invList").children().remove();for(var i=0;i =player.invItems.length;i++){if(!player.invItems[i]){}else{$("#itemCheat_invList").append(' option value="'+i+'" '+i+' '+items[player.invItems[i].type].name+' /option ');}}});$("#itemCheat").on("click","#itemCheat_quality",function(e){if(itemCheat_quality.value=="Legendary"){$("#itemCheat_bonusType").css("background-color","white");$("#itemCheat_bonusValue").css("background-color","black")}else{$("#itemCheat_bonusType").css("background-color","gray");$("#itemCheat_bonusValue").css("background-color","gray")}});$("#itemCheat").on("click","#itemCheat_invList",function(e){if(player.invItems[itemCheat_invList.value].decay==-1){$("#itemCheat_decayable").css("background-color","gray");}else{$("#itemCheat_decayable").css("background-color","black");}itemCheat_decayable.value=player.invItems[itemCheat_invList.value].decay;itemCheat_curdurability.value=player.invItems[itemCheat_invList.value].mindur;itemCheat_maxdurability.value=player.invItems[itemCheat_invList.value].maxdur;itemCheat_quality.value="Normal";if(player.invItems[itemCheat_invList.value].props!==null player.invItems[itemCheat_invList.value].props!==undefined){itemCheat_bonusType.value=player.invItems[itemCheat_invList.value].props[0];itemCheat_bonusValue.value=player.invItems[itemCheat_invList.value].props[1]}else{itemCheat_bonusType.selectedIndex=-1;itemCheat_bonusValue.value=0}if(player.invItems[itemCheat_invList.value].quality!=""){itemCheat_quality.value=player.invItems[itemCheat_invList.value].quality;if(itemCheat_quality.value=="Legendary"){$("#itemCheat_bonusType").css("background-color","white");$("#itemCheat_bonusValue").css("background-color","black")}else{$("#itemCheat_bonusType").css("background-color","gray");$("#itemCheat_bonusValue").css("background-color","gray")}}else{itemCheat_bonusType.selectedIndex=-1;$("#itemCheat_bonusType").css("background-color","gray");itemCheat_bonusValue.value="0";$("#itemCheat_bonusValue").css("background-color","gray");}});$("#itemCheat").on("click","#itemCheat_update",function(e){if(itemCheat_invList.selectedIndex==-1){ui.message("debug","bad",["TargetItem not selected!"]);}else{if($("#itemCheat_decayable").css("background-color")=="rgb(0, 0, 0)"){player.invItems[itemCheat_invList.value].decay=itemCheat_decayable.value}player.invItems[itemCheat_invList.value].mindur=parseInt(itemCheat_curdurability.value);player.invItems[itemCheat_invList.value].maxdur=parseInt(itemCheat_maxdurability.value);if(itemCheat_quality.value=="Normal"){player.invItems[itemCheat_invList.value].quality=""}else{player.invItems[itemCheat_invList.value].quality=itemCheat_quality.value}if($("#itemCheat_bonusValue").css("background-color")!="rgb(128, 128, 128)"){player.invItems[itemCheat_invList.value].props=[itemCheat_bonusType.value,parseInt(itemCheat_bonusValue.value)]}ui.message("debug","",[itemCheat_invList.value+" "+items[player.invItems[itemCheat_invList.value].type].name+" edited."]);}});}else{var delTargetElement=document.getElementById("itemCheat");delTargetElement.parentNode.removeChild(delTargetElement);} 要望の検証について + ... 「耐久値や使用期限が…減る/減らない」(食料だけ、武器・防具だけ、と種類別で指定できるのも良いかと) ◆状況 減る/減らないの処理は[taintFree]ボタンにて適用済、※アイテムの種類ごとの指定は手間がかかるので取下げ [アイテムの種類の判別方法(例)] 武器 if(items.[obj.type].damageType != undefined){ 武器用の処理 } 防具 if(items.[obj.type].equip != undefined items.[obj.type].equip != "held"){ 防具用の処理 } 食料 if(items.[obj.type].use != undefined){if(items.[obj.type].use[0] == "eat"){ 食料用の処理 } 「アイテムを入手した際における耐久値(m/n)は…ゲーム仕様に戻す/常にm=nの新品状態で入手」 ◆状況 未着手 itemGet()の先頭にitem.mindur=items[item].maxdur;を追加する、craftItemのランダム処理を潰す itemGet=eval("("+itemGet.toString().replace(";placeItem",";item.mindur=items[item.type].maxdur; placeItem")+")"); (未完成っぽい、上記だとCraft時に耐久減ったものができるので追加のコードが必要) 地面から拾った時に耐久が1減る(耐久の増減の④と⑤)処理については未調査 「自キャラ正面のパネルで燃えている火を…ゲーム仕様に戻す/何も燃やさず直ちに消す/そこに可燃物(地形、アイテム)がある場合は一瞬で燃やしつくして直ちに消火」 ◆状況 未着手 (スイッチで機能を選択して「消火」ボタンを押下、隣接するパネルへ延焼せずに消火) →何も燃やさず直ちに消すのは、player.actions.startFire()辺りにchangeTile(type "ash",以下未調査)を仕込めばできそう 可燃物の消滅は上記に加えてdropAllExcendと同じ処理をtileItemsに対して回せばできそう 「「ペミカン」を製作する素材として「内臓」を…使用する/使用しない」(「マジカルエッセンス」製作用に「内臓」をインベントリに残して置きたい場合) →これは、内臓のグループを解除すればいいのかな、多分肥料の材料にもしたくないと思うので ◆状況 [offalMeat]で実装予定 消す場合 delete items.offal.grouping; 戻す場合 items.offal.grouping=["compost","meat"]; 「徒歩による移動速度は地形の影響を…受ける/受けない」(進入不可なタイルは除く) →これはrender()の中身を把握した上で、移動ウェイトの直前に[player.x+player.direction.x][player.y+player.direction.y]の位置のタイルを判定してdelayを増減するものを差し込む形になるのかな、すぐには見当つかないです・・・ ◆状況 未着手、というか実装できる気がしないです 「プレイヤーの近くにいる鶏が各ターンに確率で卵を産む(鶏の数が多いと卵を産まなくなる)」 →次のコードを保存し、先頭の数値を書き換えてから読み込んでみてください //=== ここから === var posRange = 10; //自分と指定したマス以上離れていれば生成を行わない var firechance = 40; //ファイアエレメントが炎を撒き散らす確率、低いほど確率が上がる、0を指定すると100%落ちる var swampchance = 40; //ボグリングが足元を沼にする確率、同上 var trapchance = 200; //ホブゴブリンがくくり罠を設置する確率、同上 var eggchance = 2000; //ニワトリがタマゴを落とす確率、同上 var featherchance = 400; //ハーピーが羽を落とす確率、同上 var rangequalify = " game.monsters[monster].x player.x-posRange game.monsters[monster].x player.x+posRange game.monsters[monster].y player.y - posRange game.monsters[monster].y player.y + posRange"; monsterMove=eval("("+monsterMove.toString().replace("(Math.floor(Math.random() * 40 + 1) === 1)","(Math.floor(Math.random() * "+firechance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 40 + 1) === 1)","(Math.floor(Math.random() * "+swampchance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 2000 + 1) === 1)","(Math.floor(Math.random() * "+eggchance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 200 + 1) === 1)","(Math.floor(Math.random() * "+trapchance+" + 1)===1"+rangequalify+")").replace("(Math.floor(Math.random() * 400 + 1) === 1)","(Math.floor(Math.random() * "+featherchance+" + 1)===1"+rangequalify+")")+")"); delete posRange;delete firechance; delete swampchance; delete trapchance;delete eggchance;delete featherchance;delete rangequalify; //=== ここまで === なお、上記ではposRangeで設定した距離以上離れている全てのモンスターのドロップ判定がキャンセルされますので、ニワトリのタマゴの確率だけを操作したいのであれば次のコードを //=== ここから === var posRange = 10; //自分と指定したマス以上離れていれば生成を行わない var eggchance = 2000; ////ニワトリがタマゴを落とす確率、低いほど確率が上がる、0を指定すると100%落ちる var rangequalify = " game.monsters[monster].x player.x-posRange game.monsters[monster].x player.x+posRange game.monsters[monster].y player.y - posRange game.monsters[monster].y player.y + posRange"; monsterMove=eval("("+monsterMove.toString().replace("(Math.floor(Math.random() * 2000 + 1) === 1)","(Math.floor(Math.random() * "+eggchance +" + 1)===1"+rangequalify+")")+")"); delete posRange;delete eggchance;delete rangequalify; //=== ここまで === 技術情報 + ... ◇内部処理の書き換えについて ①元処理の取得方法 ●タイプA(普通の関数) var basefunc = passTurn.toString(); ●タイプB(イベントドリブン) var basefunc = $._data( $obj .get(0), "events")[ action ][0].handler.toString(); ②処理の書き換え basefunc.toString().replace("置換前","置換後"); ③処理の書き戻し ●タイプA passTurn = eval("("+basefunc+")"); ●タイプB $obj .unbind( action ).bind( action ,eval("("+basefunc+")"); a) 私が使用している「普通の関数」の書き換え方法は、上記①②③が全部セットになって1行で動作します 例) passTurn = eval("("+passTurn.toString().replace("置換前","置換後")+")"); b) タイプB「イベントドリブン」は、「マウスが押された時」「キーが押された時」「ページが更新された時」などの処理です 私がキーバインド割り込みと呼んでいるものはこちら側の処理です ui.$document.unbind("keyup").bind("keyup",eval("("+[元処理参照].replace("置換前","置換後")+")")と 記述すると、unbind完了後(元処理削除後)に元処理参照が行われて空の関数が返ってきてしまうので、変数を使います 良い例 先に変数basefuncに元処理を格納 ①と②var basefunc = $._data(ui.$document.get(0), "events")["keyup"][0].handler.toString().replace("置換前","置換後"); ③ui.$document.unbind("keyup").bind("keyup",eval("("+basefunc+")")); 悪い例 unbindの後に処理内容を参照している ui.$document.unbind("keyup").bind("keyup",eval("("+$._data(ui.$document.get(0), "events") ["keyup"][0].handler.toString().replace("置換前","置換後")+")"); この場合、$._data(以下略)["keyup"][0].handler.toString() はunbind()後なので空の関数が返ってきてしまいます ◇スイッチ化について(いろいろボタンの構成) basefunc.indexOf()を使用しています、basefuncの取り方は上に記載したとおりです if(basefunc.indexOf("識別文字")==-1){ 置換処理 } else { 戻す処理 } ①ボタンの追加処理 $( #obj ).append(' button id = "ボタン名" 表示文字 /button '); ②既に書換が済んでしているかどうか判定(書き換えられているなら背景を指定した色に) if(basefunc.indexOf("識別文字")!=-1){ $("#ボタン名").css("background-color","色指定"); } ③ボタンの押下処理 $( #obj ).on("click","#ボタン名",function(e){ if(basefunc.indexOf("識別文字")==-1){ 置換処理; 色変更処理(ON); } else { 戻す処理; 色変更処理(OFF) } }); ←jQueryは関数の閉じカッコに気を付けましょう、functionの終わり"}"とonの終わり");" ◇複数箇所の置換と復帰について replace()関数は、最初に見つかったものだけを置き換えます "abcdabcd".replace("abcd","ABCD")の結果は "ABCDabcd"になります "ABCDABCD"に変換したい場合は "abcdabcd".replace("abcd","ABCD").replace("abcd","ABCD")とする必要があります これを利用して、識別文字を割り当てることができます 識別文字の作成方法 ①"console.log('この部分は置換済');" 等の意味の無い処理をを後ろに付ける方法(値の書き換え等で使用、文字は適当) ②"if(0 === 0)", "if(0 === 1)" などで分岐を操作する方法 などがありますが、②について、"if(0 === 0)", "if(0===0)", "if(0=== 0)", "if(0 ===0)", "if(0 === 0)"のように 書換後の処理が同じでも半角スペースの場所を変えることによって置換したものを戻す場所を特定できます (可読性は犠牲になりますが) 補足情報(蛇足とも言う) ①var と delete var basefunc; → basefuncという変数を宣言します delete basefunc; → basefuncという変数を削除します 基本的に、いらない変数は処理の最後に削除してしまう方がよいのですが、ボタン化した場合などは特に、 むやみにdeleteするとエラーの原因になりますので気を付けましょう。ちなみにdeleteですが、値を削除しますので for(var itm in items){if(items[itm].decay){delete items[itm].decay}} このような使い方をすると、以降生成されるアイテムの使用期限(decay)が全てなくなったりします ②eval()について eval(str)は、strを関数として解釈するための命令ですが、前後にカッコを付ける必要があります 悪い例 eval("function(void){ a = 1; }"); 良い例 eval("(" + "function(void){ a = 1; }" + ")"); さいごに 名前付けの規則だったりスペースを入れる場所だったり、本職の方から見たら許せないような箇所も たくさん見受けられるかと思いますが、私はプログラマでもなんでもない独学でやっているだけの 素人ですので、ご容赦頂ければと思います。 日本語化(野良Mod) 有志による日本語化対応 ※最新版は MOD(日本語化) へ。 旧版は編集の邪魔になるので削除。 匿名Mod ミニModを不定期に追加していきます ※一部のコードはコメントアウトしてますが、これはModPackとしてまとめて使用しても癖の少ない変更点で抑えるために行っているためです。 有効にしたいときは、コメント文「//」を削除してください。 + ... //-------------------------------------------------- //匿名ModPack ver0.03 //-------------------------------------------------- //匿名Mod 導入必須 ver0.03 //当MOD導入に必要(関数変更関数を関数インスタンスから実行できる関数を関数で登録する無名関数(MODのコメントにPatchFixのPFがあればこれが前提に必要となる) (function(){Function.prototype.funcreplace=function(){var s=this.toString().substring(this.toString().indexOf("{")+2,this.toString().lastIndexOf("}")-1);for(var i=0;i arguments.length-1;i+=2)s=s.replace(arguments[i],arguments[i+1]);return s;}})() //当MOD導入に必要(関数を1つ追加 MODのコメントにStyleSheetのSSがあればこれが前提に必要となる) styleSheet=function(){for(var i=0;i arguments.length;i++)document.styleSheets[0].insertRule(arguments[i], document.styleSheets[0].cssRules.length)}; //------------------------- //匿名Mod 修正版 ver0.03 //バッグを開いてる時にアイテムを右クリックするとバッグへ入るように修正する(PF 通常は地上に落とす) dropItem=new Function('itemId','location','dropAll',dropItem.funcreplace(' var fireDrop = false;',' if(game.containerOpened.containerType===\'INV\'){location=\'INV\';};var fireDrop = false;')); //箱とバッグからアイテムを取り出せなくなるバグを修正する(PF) moveToInventoryFromContainer=new Function('invId','moveAllItems',moveToInventoryFromContainer.funcreplace('var cont = envItems[containerId].container;','var cont = null;',' var item = cont[invId];',' if(cont==null)cont = envItems[containerId].container;var item = cont[invId];')); // 連続してクラフトすると移動できなくなる時間ができるバグを修正する(PF) craftItem=new Function('craftType',craftItem.funcreplace(' game.delay += 10;',' game.delay = 10;')); // 入れ物ウィンドウが開いてる場合で、箱の中身が入っていない時に箱を掘り出すと入れ物ウィンドウが閉じないバグを修正する(PF) game.isValidPickUp=new Function('envItemId',game.isValidPickUp.funcreplace(' return true;',' if(game.containerOpened.containerType==="ENV" envItems[envItemId].container envItems[envItemId].container.length==0)closeContainer();return true;')); //「全て今開いている入れ物に入れる」にて道具が入りきれなくなったら処理を中断させるように修正(PF) dropItem=new Function('itemId','location','dropAll',dropItem.funcreplace(' finishItemDrop(playerItem, location, containerId);',' if(!finishItemDrop(playerItem, location, containerId))break;')); //箱とバッグ内部に溜まる不要な情報を削除する(削除するのはnullだけなので恐らく安全 動作速度を若干向上しながらセーブデータ容量を少し減らす) closeContainer=new Function(closeContainer.funcreplace(' game.containerOpened.containerType = "";',' if(game.containerOpened.id =0 game.containerOpened.containerType){var f=game.containerOpened.containerType==="ENV"?envItems[game.containerOpened.id] player.invItems[game.containerOpened.id];if(f f.container f.container.length 0){f=f.container;var r=f.length;for(var i=0;i r;i++){if(f[i]==null){f.splice(i--,1);r--;}}}};game.containerOpened.containerType = "";')); // アイテムのコンディションが赤に表示している場合、修理すると元のコンディションに戻るように修正(PF 補強すると変化するでは効果はありません、そもそも対応させるのが面倒なので…) player.actions.repair=new Function('invId','invClass','containerId','bypassId',player.actions.repair.funcreplace(' item.mindur = item.maxdur;',' item.mindur=item.maxdur;if(item.mindur 2){if(containerId){ui.$container.find(\'.item[data-itemid=\"\'+bypassId+\'\"]\').removeClass(\'damaged\');}else{ui.$inventoryEquip.find(\'.item[data-itemid=\"\'+bypassId+\'\"]\').removeClass(\'damaged\');}};')); //設置した箱のアイテムは一切腐らなくなる(PF 大量にアイテムを保管してるワールド(容量が数MB以上)で20歩毎に発生する負荷を軽減する) // environmentalDecay=new Function('envId',environmentalDecay.funcreplace('decayItemsInContainer(envId, envItems[envId].container, \"ENV\");','')); //地上に置いたバッグのアイテムは一切腐らなくなる(PF 地上にバッグを置く人向けに負荷を軽減する) // passTurn=new Function('move',passTurn.funcreplace(' decayItemsInContainer(tileItemsKey[i2], tileItems[tileItemsKey[i2]].container, \"TILE\");','')); // スキル・実績のウィンドウが開いてる時に行動すると負荷が上がるのを抑える(PF HTML情報に変化がなければ更新しない、ブラウザによってはこの問題を解決してる事があるためその場合は効果がない) player.skillGain=new Function('skillType','mod','bypass',player.skillGain.funcreplace(' ui.$skills.html(skillOutput);',' if(skillOutput!=ui.$skills[0].innerHTML)ui.$skills.html(skillOutput);')); addMilestone=new Function('milestone',addMilestone.funcreplace(' ui.$milestones.html(milestonesOutput);',' if(milestonesOutput!=ui.$milestones[0].innerHTML)ui.$milestones.html(milestonesOutput);')); //ミニマップを無効にする(PF 移動時の負荷を軽減する) // $('#miniMapCanvas').remove();updateMiniMap=false;statbar=[];passTurn=new Function('move',passTurn.funcreplace(' game.updateMiniMap = true;','')); //------------------------- //匿名Mod ゲームUI版 ver0.03 //ウィンドウの表示枠を大きくする(SS 表示の無駄をかなり減らす事ができる) // styleSheet(".ui-dialog .ui-dialog-content{width auto !important;padding 0px !important;}",".ui-dialog {height auto !important;}",".ui-dialog .ui-dialog-titlebar,.ui-dialog .ui-dialog-buttonpane,.ui-dialog-buttonset .ui-button,.ui-button .ui-button-text,.filter{padding 0px !important;margin 0px !important;}","#inventory li,#craft div,#equipment .equip, #container li{margin 0px !important;}",".fontstyle, .fontstyle button{line-height 12px !important;}"); //閉じるボタンを縮小する(SS 「ウィンドウの表示枠を大きくする」と組み合わせる事を推奨) // styleSheet(".ui-dialog .ui-dialog-titlebar-close{margin 0px !important;top auto !important;right 0px !important;padding 5px 8px !important;background none !important;width auto !important;height auto !important;}"); // ウィンドウの背景をより薄くする(SS アイテムも透明化になると不便なのでこちらは色を付ける) // styleSheet(".ui-dialog .ui-dialog-content{background none !important;}",".ui-dialog not([aria-describedby=equipmentwindow]) .ui-dialog-content, #inventory li, #container li, #craft div not(.crafted), .equip li, .equip empty{background-color rgba(4, 4, 4, 0.4) !important;}",".equip not( empty){background none !important;}","#craft div.crafted not( hover){border-color transparent !important;}"); //ステータスバーの色を薄く&透明度をつける(SS 個人的に色が濃すぎてちょっと目に優しくないな、と) // styleSheet("#health{background none repeat scroll 0% 0% rgba(100%, 0%, 10%, 0.6) !important;}","#stamina{background none repeat scroll 0% 0% rgba(0%, 90%, 10%, 0.6) !important;}","#hunger{background none repeat scroll 0% 0% rgba(90%, 0%, 100%, 0.6) !important;}","#thirst{background none repeat scroll 0% 0% rgba(0%, 50%, 100%, 0.6) !important;}"); //クラフトウィンドウの制作できないアイテムを目立たせる // styleSheet("#craft div.crafted{box-shadow 0px 0px 10px rgba(255, 0, 29, 0.6) inset;}"); //マップを拡大しないようにする(SS マップが大きすぎる、といった場合に有効) // styleSheet(".map, #miniMapCanvas{min-width 114px !important;width 114px !important;height 114px !important;}"); //メッセージボックスを非表示にする(SS 邪魔!と思った方にお勧めです) // styleSheet("#messageoverlay{display none !important;}"); //メッセージボックスを左から右に移動する(SS) // styleSheet("#messageoverlay{left auto !important;right 0px;}"); //メッセージウィンドウの背景を透明にする(SS メッセージクリアボタンも削除) // styleSheet("#messageswindow,[aria-describedby=messageswindow] .ui-dialog-titlebar,[aria-describedby=messageswindow] .ui-dialog-buttonpane{background none !important;}","[aria-describedby=messageswindow] .ui-dialog-buttonset{display none !important;}"); //-------------------------------------------------- アイテムの枠の色を適正化 補強と変化でアイテムの状態が変わったときに枠の色を適切にする。 ※匿名Mod(Pack ver0.03)の導入が必須です。匿名Modの更新次第でこのスクリプトは必要なくなるまたは使えなくなる可能性があります。 対応バージョン DL版 Beta 1.9.2(Windows) + ... //匿名Modの「player.actions.repair=new Function~」の部分の次の行に挿入して使ってください。 //補強 player.actions.reinforce=new Function('invId','invClass','containerId','bypassId',player.actions.reinforce.funcreplace('ui.message("reinforce", \'normal\');','if(item.mindur 2){ui.$inventoryEquip.find(\'.item[data-itemid="\'+bypassId+\'"]\').removeClass(\'damaged\');}ui.message("reinforce",\'normal\');')); //変化 player.actions.transmogrify=new Function('invId','invClass','containerId','bypassId',player.actions.transmogrify.funcreplace('item.quality = "Legendary";','var old_quality=item.quality;item.quality="Legendary";ui.$inventoryEquip.find(\'.item[data-itemid="\'+bypassId+\'"]\').removeClass(old_quality.toLowerCase()).addClass(item.quality.toLowerCase());','item.mindur = legendary.maxDur;','item.mindur=legendary.maxDur;if(item.mindur 2){ui.$inventoryEquip.find(\'.item[data-itemid="\'+bypassId+\'"]\').removeClass(\'damaged\');}')); //ここからはDL版で匿名Modを導入しても修理で枠の色が戻らない場合 //「player.actions.repair=new Function~」の一行を下記のものと入れ替えてください。 //player.actions.repair=new Function('invId','invClass','containerId','bypassId',player.actions.repair.funcreplace('item.mindur = item.maxdur;','item.mindur=item.maxdur;if(item.mindur 2){ui.$inventoryEquip.find(\'.item[data-itemid="\'+bypassId+\'"]\').removeClass(\'damaged\');}')); Enjoy Life 独自のゲーム性を目指して途中まで制作していたModです このプログラムはコピー・改造して構いませんので、Mod制作にご活用ください 特徴:アイテム・モンスターの一部に独自の画像を使用、レシピを変更、固定のマップ、 モンスターの動きを変更、細かい時間管理、マイルストーン変更、雨が降るなど 操作:Actionsメニューから寝具なしで眠れます。Rキーで休憩できます ダウンロード 対応バージョン:Beta 1.9.2 β2.9.6-steam + とりあえず編集時判明部分のみ とりあえず編集時判明部分のみ ゲーム中にF10を押して最上部の[Console]を選択、最下部 のボックスに入力すると適用されます 体力・スタミナ・満腹度・喉の渇き 最大値まで回復します localPlayer.stat.stats.Health.value=localPlayer.stat.stats.Health.max; localPlayer.stat.stats.Stamina.value=localPlayer.stat.stats.Stamina.max; localPlayer.stat.stats.Hunger.value=localPlayer.stat.stats.Hunger.max; localPlayer.stat.stats.Thirst.value=localPlayer.stat.stats.Thirst.max; 最大スタミナ・満腹度・喉の渇き 最大値を指定した値に再設定します、体力は別管理のようです localPlayer.stat.stats.Stamina.max=32000; localPlayer.stat.stats.Hunger.max=500; localPlayer.stat.stats.Thirst.max=500; 善行ポイント・悪行ポイント倍率 行動による評判値の変動倍率を変更します、累積評判値が下がると強い敵が発生しやすくなります localPlayer.gameOptionsCached.reputation.malignityMultiplier=-1; localPlayer.gameOptionsCached.reputation.benignityMultiplier=10; 最大所持重量 重量制限を指定した値に再設定します、力が上がって再計算されると元に戻るのでその都度入力が必要です localPlayer.stat.stats.Weight.max=90000; 所持品の一括修理 所持品の耐久度をMAXまで回復します for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){localPlayer.inventory.containedItems[i].minDur=localPlayer.inventory.containedItems[i].maxDur} 所持品の重量ゼロ カバンの内容物や設置された収納箱の中身には影響しません、weightMultiplierの値をマイナスにすると更にたくさん持つこともできます、この変更値はセーブされません var weightMultiplier=0; for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){ localPlayer.inventory.containedItems[i].weight=weightMultiplier} 所持品の腐敗までの時間延長 カバンの内容物や設置された収納箱の中身には影響しません for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){if(localPlayer.inventory.containedItems[i].decay)localPlayer.inventory.containedItems[i].decay=999999}} ※所持品以外には適用されませんが木の棒を装備して着火するとDecayの値が設定されます その状態でこのコマンドを実行して装備品の着火した木の棒を右クリックしてBuildを選び 地面に立てると半永久の火源になり常に調理ができます、セーブ&ロードしても保持されます また、このたいまつの斜めに金床を設置することで同じく常に利用できるようになります 上記修理・重量・腐敗時間統合 for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){localPlayer.inventory.containedItems[i].minDur=localPlayer.inventory.containedItems[i].maxDur;if(localPlayer.inventory.containedItems[i].decay){localPlayer.inventory.containedItems[i].decay=999999}localPlayer.inventory.containedItems[i].weight=0} 宝の地図を自分の足元に設定する、使用済みの場合は未使用に戻す for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){if(localPlayer.inventory.containedItems[i].type==121){localPlayer.inventory.containedItems[i].tatteredMap.x=localPlayer.x;localPlayer.inventory.containedItems[i].tatteredMap.y=localPlayer.y;if(typeof localPlayer.inventory.containedItems[i].used==="undefined"){}else{delete localPlayer.inventory.containedItems[i].used}}} 新しく生成されるアイテムの重量を0.1に固定する 地下の岩を掘ったら適用されていなかったり、詳細検証中 for(i=0;i =511;i++){itemManager.cachedWeights[i] ={static 0,max 0,min 0}} 所持している箱の容量拡張 インベントリ内にある収納アイテム8種に容量増加(+99999)を付与します、既に設置されている収納箱には影響しません カバン・リュック・矢筒の比較を=から==に修正 for(i=0;i =localPlayer.inventory.containedItems.length-1;i++){if(localPlayer.inventory.containedItems[i].type==132||localPlayer.inventory.containedItems[i].type==280||localPlayer.inventory.containedItems[i].type==281||localPlayer.inventory.containedItems[i].type==288||localPlayer.inventory.containedItems[i].type==381||localPlayer.inventory.containedItems[i].type==88||localPlayer.inventory.containedItems[i].type==126||localPlayer.inventory.containedItems[i].type==224){localPlayer.inventory.containedItems[i].quality=4;localPlayer.inventory.containedItems[i].legendary = {type 3, value 99999}}} プレイヤーの位置 pos()で現在の位置を取得、tp(x,y,z)で指定座標へ移動、z=1で地上、z=0で地下、zは省略可能 mons()で敵の右隣に移動、左に移動すると先制攻撃、カッコ内に数値を入れると指定した数の敵をスキップ 拠点の近くにヤギなどを繋いで敵を倒していくとmons()を呼び出すと拠点に戻れるようになる、次の敵はmons(1)で探せる function pos(){if(localPlayer.z==1){console.log("地上 "+localPlayer.x+","+localPlayer.y+")")}else{console.log("地下 "+localPlayer.x+","+localPlayer.y+")")}};function tp(x,y,z=-1){localPlayer.x=x;localPlayer.y=y;if(z==0||z==1){localPlayer.z=z}}function mons(skip=0){for(i=0;i =island.creatures.length-1;i++){if(island.creatures[i]!==undefined){if(skip =0){localPlayer.x=island.creatures[i].x+1;localPlayer.y=island.creatures[i].y;localPlayer.z=island.creatures[i].z;console.log("ID="+i+" "+island.creatures[i].type);skip=-99;break}else{skip--}}}if(skip!=-99){console.log("全てのモンスターを撃破済です")}} + steam2.9.6用スイッチ steam2.9.6用スイッチ(仮) //本体部分(v0.1) typeof userDiv!="undefined" document.body.removeChild(userDiv);userDiv=document.createElement("mod_switch");userDiv.innerHTML=" div class='sw_move' style='position absolute;padding 2px;font-size 10px;font-color white;border 1px solid;top 50px;left 100px;width 300px;background-color gray;z-index 999' id='txt' steam2.9.6用スイッチ(仮) br / input type=button style='background-color red;color white;padding 1px' id='btn1' value='HP' onClick='sw.healHP()' nbsp; input type=button style='background-color lime;color white;padding 1px' id='btn2' value='ST' onClick='sw.healST()' nbsp; input type=button style='background-color purple;color white;padding 1px' id='btn3' value='空腹' onClick='sw.healHunger()' nbsp; input type=button style='background-color cyan;color black;padding 1px' id='btn4' value='水分' onClick='sw.healThirst()' nbsp; input type=button style='background-color yellow;color black;padding 1px' id='btn5' value='BAD' onClick='sw.healBAD()' nbsp; input type=button style='background-color black;color white;padding 1px' id='btn6' value='全て' onClick='sw.healALL()' | input type=button style='background-color black;color white;padding 1px' id='btn7' value='自動回復(継続)' onClick='sw.toggleHeal()' br / input type=button style='background-color black;color white;padding 1px;margin-top 1px' id='btn20' value='箱容量+' onClick='sw.box()' nbsp; input type=button style='background-color black;color white;padding 1px;margin-top 1px' id='btn20' value='所持重量0' onClick='sw.weight0()' nbsp; input type=button style='background-color black;color white;padding 1px;margin-top 1px' id='btn21' value='重量0(継続)' onClick='sw.toggleWeight0()' nbsp; span id='span21' nbsp; nbsp; \/span hr / input type=button style='background-color black;color white;padding 1px;margin-top 1px' id='btn10' value='次の設置物' onClick='sw.doods()' nbsp; select id='selDoodQuality' style='background-color black;color white' onClick='sw.doodCount()' option value=1 品質指定無 \/option option value=0 Normal \/option option value=2 Remarkable \/option option value=3 Exceptional \/option option value=4 Legendary \/option \/select nbsp;スキップ数 nbsp; input type=button style='background-color black;color white;padding 1px;width 10px' id='btn11' value='-' onClick='sw.doodminus()' nbsp; span id='doodskip' 0 \/span nbsp; input type=button style='background-color black;color white;padding 1px;width 10px' id='btn12' value='+' onClick='sw.doodplus()' nbsp; input type=button style='background-color black;color white;padding 1px;width 10px' id='btn13' value='0' onClick='sw.doodreset()' nbsp; span id='doodCount' 計0個 \/span br / input type=button style='background-color black;color white;padding 1px;margin-top 1px' id='btn30' value='NPCへ移動' onClick='sw.moveNPC()' nbsp; select id='selNPC' style='color white;background-color black' \/select nbsp; input type=button style='background-color black;color white;padding 1px;margin-top 1px' id='btn31' value='再取得' onClick='sw.getNPC()' hr / span id='uLog' \/span ";document.body.appendChild(userDiv);sw={};sw.log=function(n){$("#uLog").text(n)};sw.healHP=function(n=false){localPlayer.stat.stats.Health.value=localPlayer.stat.stats.Health.max;n==!1 sw.log("HPを回復しました")};sw.healST=function(n=false){localPlayer.stat.stats.Stamina.value=localPlayer.stat.stats.Stamina.max;n==!1 sw.log("スタミナを回復しました")};sw.healHunger=function(n=false){localPlayer.stat.stats.Hunger.value=localPlayer.stat.stats.Hunger.max;n==!1 sw.log("満腹になりました")};sw.healThirst=function(n=false){localPlayer.stat.stats.Thirst.value=localPlayer.stat.stats.Thirst.max;n==!1 sw.log("水分を補給しました")};sw.healBAD=function(n=false){localPlayer.status.Bleeding=!1;localPlayer.status.Poisoned=!1;localPlayer.status.Burned=!1;n==!1 sw.log("出血・毒・火傷を治療しました")};sw.healALL=function(n=false){sw.healHP(!0);sw.healST(!0);sw.healHunger(!0);sw.healThirst(!0);sw.healBAD(!0);n==!1 sw.log("完全回復しました")};sw.toggleHeal=function(){$("#btn7").css("color")!="rgb(255, 0, 0)"?($("#btn7").css("color","red"),clearInterval(sw.cure),sw.cure=setInterval(function(){sw.healALL(!0)},2e3),sw.log("自動回復(2秒毎)が有効になりました")) ($("#btn7").css("color","white"),clearInterval(sw.cure),sw.log("自動回復が無効になりました"))};sw.w0=0;sw.toggleWeight0=function(){$("#btn21").css("color")!="rgb(255, 0, 0)"?($("#btn21").css("color","red"),clearInterval(sw.w0),sw.w0=setInterval(function(){sw.weight0(!0)},2e3),sw.log("自動重量0/耐久回復が有効になりました")) ($("#btn21").css("color","white"),clearInterval(sw.w0),$("#span21").css("background-color","gray"),sw.log("自動重量0/耐久回復が無効になりました"))};sw.box=function(){for(cnt=0,i=0;i =localPlayer.inventory.containedItems.length-1;i++)(localPlayer.inventory.containedItems[i].type==132||localPlayer.inventory.containedItems[i].type==280||localPlayer.inventory.containedItems[i].type==281||localPlayer.inventory.containedItems[i].type==288||localPlayer.inventory.containedItems[i].type==381||localPlayer.inventory.containedItems[i].type==88||localPlayer.inventory.containedItems[i].type==126||localPlayer.inventory.containedItems[i].type==224) (localPlayer.inventory.containedItems[i].quality=4,localPlayer.inventory.containedItems[i].legendary={type 3,value 99999},cnt++);cnt 0?sw.log("所持している収納アイテム"+cnt+"個に容量増加を付与しました") sw.log("収納アイテムを所持していません")};sw.map=function(n=false){if(n==!0)for(i=0;i =localPlayer.inventory.containedItems.length-1;i++)localPlayer.inventory.containedItems[i].type==121 typeof localPlayer.inventory.containedItems[i].used!="undefined" delete localPlayer.inventory.containedItems[i].used;for(i=0;i =localPlayer.inventory.containedItems.length-1;i++)if(localPlayer.inventory.containedItems[i].type==121 typeof localPlayer.inventory.containedItems[i].used=="undefined"){localPlayer.inventory.containedItems[i].tatteredMap.x=localPlayer.x;localPlayer.inventory.containedItems[i].tatteredMap.y=localPlayer.y;localPlayer.inventory.containedItems[i].tatteredMap.z=localPlayer.z;console.log("Map "+i+" location="+localPlayer.inventory.containedItems[i].tatteredMap.x+","+localPlayer.inventory.containedItems[i].tatteredMap.y);break}sw.log("地図ID "+i+"を足元に設定しました")};sw.pos=function(){localPlayer.z==1?console.log("[1]地上 ("+localPlayer.x+","+localPlayer.y+")") console.log("[0]地下 ("+localPlayer.x+","+localPlayer.y+")")};sw.tp=function(n,t,i=-1,r=0){r!=0?(localPlayer.x+=n,localPlayer.y+=t) (localPlayer.x=n,localPlayer.y=t);(i==0||i==1) (localPlayer.z=i)};sw.defaultWeight=function(){for(i=0;i =511;i++)itemManager.cachedWeights[i]={static 0,max 0,min 0}};sw.defaultWeight();sw.mons=function(n=0){for(i=0;i =island.creatures.length-1;i++)if(island.creatures[i]!==undefined)if(n =0){localPlayer.x=island.creatures[i].x+1;localPlayer.y=island.creatures[i].y;localPlayer.z=island.creatures[i].z;sw.log("ID="+i+" "+island.creatures[i].type+"["+sw.monsStr(island.creatures[i].type)+"の右横へ移動しました]");n=-99;break}else n--;n!=-99 sw.log("全てのモンスターを撃破済です")};sw.monsStr=function(n){return sw.monsList[n]==undefined?"==unknown==" sw.monsList[n]};sw.tileev=function(n=0){for(tileev_found=!1,i=0;i =island.tileEvents.length-1;i++)if(typeof island.tileEvents[i]!="undefined")if(n =0){sw.tp(island.tileEvents[i].x+1,island.tileEvents[i].y,island.tileEvents[i].z);sw.log("ID="+i+" へジャンプしました");tileev_found=!0;break}else n--;tileev_found||sw.log("見つかりませんでした")};sw.weight0=function(n=false){for(i=0;i =localPlayer.inventory.containedItems.length-1;i++)localPlayer.inventory.containedItems[i].maxDur =999 (localPlayer.inventory.containedItems[i].maxDur=localPlayer.inventory.containedItems[i].type==15||localPlayer.inventory.containedItems[i].type==315||localPlayer.inventory.containedItems[i].type==490||localPlayer.inventory.containedItems[i].type==152||localPlayer.inventory.containedItems[i].type==446||localPlayer.inventory.containedItems[i].type==447?10 999),localPlayer.inventory.containedItems[i].minDur=localPlayer.inventory.containedItems[i].maxDur,localPlayer.inventory.containedItems[i].decay (localPlayer.inventory.containedItems[i].decay=9999999),localPlayer.inventory.containedItems[i].weight=0;sw.blinkColor("span21");n==!1 sw.log("鞄外の所持品重量を0に設定し、耐久を全快しました")};sw.getNPC=function(){for($("#selNPC option").remove(),i=0;i =island.npcs.length-1;i++)typeof island.npcs[i]!==undefined $("#selNPC").append($(" option ").html(island.npcs[i].renamed).val(i))};sw.getNPC();sw.moveNPC=function(){sw.tp(island.npcs[$("#selNPC").val()].x+1,island.npcs[$("#selNPC").val()].y,island.npcs[$("#selNPC").val()].z);sw.log($("#selNPC option selected").html()+"の右横へ移動しました")};sw.doodplus=function(){$("#doodskip").text(parseInt($("#doodskip").text())+1)};sw.doodminus=function(){$("#doodskip").text() 0 $("#doodskip").text(parseInt($("#doodskip").text())-1)};sw.doodreset=function(){$("#doodskip").text("0")};sw.doodCount=function(n=1){for(cnt=0,n=$("#selDoodQuality").val(),i=0;i =island.doodads.length-1;i++)island.doodads[i]!==undefined (n!=1?island.doodads[i].quality==n cnt++ cnt++);$("#doodCount").text("計"+cnt+"個")};sw.doodCount();sw.doods=function(n=-1,t=0){for(n=$("#selDoodQuality").val(),t=parseInt($("#doodskip").text()),tiledood_found=!1,i=0;i =island.doodads.length-1;i++)if(typeof island.doodads[i]!="undefined" island.doodads[i].ownerIdentifier===undefined)if(n!=1){if(island.doodads[i].quality==n)if(t =0){sw.tp(island.doodads[i].x+1,island.doodads[i].y,island.doodads[i].z);sw.log("ID="+i+" "+island.doodads[i].type+"["+sw.doodStr(island.doodads[i].type)+"]へジャンプしました");tiledood_found=!0;break}else t--}else if(t =0){sw.tp(island.doodads[i].x+1,island.doodads[i].y,island.doodads[i].z);sw.log("ID="+i+" "+island.doodads[i].type+"["+sw.doodStr(island.doodads[i].type)+"]へジャンプしました");tiledood_found=!0;break}else t--;sw.doodCount();tiledood_found||sw.log("見つかりませんでした")};sw.doodStr=function(n){return sw.doodList[n]==undefined?"==unknown==" sw.doodList[n]};sw.doodList={0 "木の扉",1 "木の柵",2 "木の壁",3 "陶器の壁",4 "砂岩の壁",5 "石の壁",6 "爆発罠",7 "落とし罠",8 "くくり罠",9 "魔物のくくり罠",10 "太陽光蒸留器",11 "木の収納箱",12 "木の収納箱(施錠)",13 "魔物の像",14 "草",15 "クレマチス",16 "アザミ",17 "マッシュルーム",18 "ベニテングダケ",19 "スイッチグラス",20 "昆布",21 "ネギ",22 "パイナップル",23 "埋まった石",24 "木苺",25 "センダン草",26 "綿花",27 "ウチワサボテン",28 "タンブルウィード",29 "石の蒸留器",30 "石の蒸留器(着火)",31 "石の焚き火セット",32 "石の焚き火セット(着火)",33 "砂岩の窯",34 "砂岩の窯(着火)",35 "石の炉",36 "石の炉(着火)",37 "木の棒(設置)",38 "木の棒(設置・着火)",39 "石の鍛冶台",40 "洞窟の入口",41 "木の扉(開)",42 "木の門",43 "木の門(開)",44 "ツタウルシ",45 "錬鉄の収納箱",46 "鉄の収納箱",47 "豪華な木の収納箱",48 "スケルトン",49 "陶器の窯",50 "陶器の窯(着火)",51 "陶器の焚き火セット",52 "陶器の焚き火セット(着火)",53 "陶器の炉",54 "陶器の炉(着火)",55 "陶器の蒸留器",56 "陶器の蒸留器(着火)",57 "砂岩の焚き火セット",58 "砂岩の焚き火セット(着火)",59 "砂岩の炉",60 "砂岩の炉(着火)",61 "砂岩の蒸留器",62 "砂岩の蒸留器(着火)",63 "石の窯",64 "石の窯(着火)",65 "錬鉄の鍛冶台",66 "鉄の鍛冶台",67 "楓の木",68 "リンゴの木",69 "トウヒの木",70 "ヒノキの木",71 "ヤシの木",72 "レタス",73 "ジャガイモ",74 "ニンジン",75 "トウモロコシ",76 "キュウリ",77 "トマト",78 "カボチャ",79 "サトウキビ",80 "小麦",81 "銅の収納箱",82 "銅の鍛冶台",83 "樹皮の松明(設置)",84 "樹皮の松明(設置・着火)",85 "獣脂の松明(設置)",86 "獣脂の松明(設置・着火)",87 "ヨシュアの木",88 "弁慶サボテン",89 "アロエ",90 "獣脂のロウソク(設置)",91 "獣脂のロウソク(設置・着火)",92 "木綿の寝具(設置)",93 "羽毛の寝具(設置)",94 "ハンモック(設置)",95 "草の寝具(設置)",96 "つなぎ柱",97 "陶器の井戸",98 "砂岩の井戸",99 "石の井戸",100 "セメントの壁",101 "トウヒの木(雪)",102 "コケモモ",103 "ウメモドキ",104 "ヒナゲシ",105 "銅の収納箱(施錠)",106 "錬鉄の収納箱(施錠)",107 "鉄の収納箱(施錠)",108 "豪華な木の収納箱(施錠)"};sw.monsList={0 "スライム",1 "スライムキューブ",2 "巨大クモ",3 "熊",4 "ウサギ",5 "ヘビ",6 "巨大ネズミ",7 "ネズミ",8 "吸血コウモリ",9 "灰色オオカミ",10 "インプ",11 "ボグリング",12 "うごく岩",13 "サメ",14 "ゾンビ",15 "スケルトン",16 "幽霊海賊",17 "高速クモ",18 "ニワトリ",19 "転移クモ",20 "炎の精霊",21 "タラ",22 "ホブゴブリン",23 "うごくキノコ",24 "巨大イカ",25 "洞窟魚",26 "ハーピー",27 "デーモン",28 "骸骨魔導士",29 "クロウワーム",30 "火竜",31 "スナネコ",32 "溶岩虫",33 "ヤギ",34 "吸血ヒル",35 "トビハゼ",36 "サソリ",37 "ガラガラヘビ",38 "カモシカウサギ",39 "キセンフエダイ",40 "ウォールアイ",41 "ウィスプ",42 "北極オオカミ",43 "北極ウサギ",44 "白熊",45 "ペンギン",46 "氷の精霊",47 "氷の魔女"};sw.colorLime="rgb(0, 255, 0)";sw.colorCyan="rgb(0, 255, 255)";sw.colorRed="rgb(255, 0, 0)";sw.blinkColor=function(n){$("#"+n).css("background-color")==sw.colorLime?$("#"+n).css("background-color",sw.colorRed) $("#"+n).css("background-color",sw.colorLime)} //以下は上のものを読み込んだ後に追加で読み込んでください、作者の環境では一度に読み込むとエラーを吐き出します //ウィンドウをマウスで動かせるようにする (function(){var elements = document.getElementsByClassName("sw_move");var x,y;for(i=0;i elements.length;i++){elements[i].addEventListener("mousedown", mdown, false);elements[i].addEventListener("touchstart", mdown, false);}function mdown(e){this.classList.add("drag");if(e.type === "mousedown"){var event=e}else{var event = e.changedTouches[0]}x=event.pageX-this.offsetLeft;y=event.pageY-this.offsetTop;document.body.addEventListener("mousemove",mmove,false);document.body.addEventListener("touchmove",mmove,false)}function mmove(e){var drag=document.getElementsByClassName("drag")[0];if(e.type === "mousemove"){var event=e}else{var event=e.changedTouches[0]}e.preventDefault();drag.style.top=event.pageY-y+"px";drag.style.left=event.pageX-x+"px";drag.addEventListener("mouseup", mup, false);document.body.addEventListener("mouseleave", mup, false);drag.addEventListener("touchend", mup, false);document.body.addEventListener("touchleave", mup, false)}function mup(e){var drag = document.getElementsByClassName("drag")[0];document.body.removeEventListener("mousemove", mmove, false);drag.removeEventListener("mouseup", mup, false);document.body.removeEventListener("touchmove", mmove, false);drag.removeEventListener("touchend", mup, false);drag.classList.remove("drag")}})() 【動作確認/v0.11f】■[DurMax]:追伸/「骨の針」の素材となった「骨の棒」に現在耐久値が下がっていたアイテムが混入した可能性ですが、一連の動作確認においてインベントリのアイテムが山になったのを切っ掛けに、現在、在庫アイテムの一斉棚卸しの真っ最中でして、前々から溜め込んでいた様々なアイテムが入った宝箱を全部ひっくり返している状態です。当然、その中には現在耐久値が下がっているモノが含まれていて、それらが動作確認中に混入した事も考えられます。今後の動作確認においてはそういった古いアイテムが混ざらないよう注意します。 -- (名無しさん) 2015-05-19 17 52 59 【動作確認/v0.11f】■[popAberrant]:先の報告からこちら、新たに発生したと思われるモンスターで通常種は見かけません(多分)。 /■[DurMax]:[popAberrant]の動作確認がてら変異種から入手したアイテムを素材にアイテム製作を行い耐久値の状況をみておりますが、今の所は現在耐久値=最大耐久値で製作されています。 -- (名無しさん) 2015-05-20 01 37 12 【要望】■[MultiCreate]:[dropAllExtend]と同様に装備中のアイテムやQSのアイテムは[MultiCreate]による連続製作の対象から除外した方が良いと思いますが如何でしょう。武器や道具として使用中のアイテムが[MultiCreate]ボタンをクリックしたら待った無しの連続製作で素材として消費されてしまうと、いざ戦闘という時に素手になっている事に気付いたり、死骸からの剥ぎ取りに必要な「尖った物」が全て消費されて「切り出し」ができなかったりと(←まあ「掘る」でも良いのですが)、少々ですが不便な点も見受けられましたので。 -- (名無しさん) 2015-05-20 01 37 39 装備品・QS除外について、dropAllと製作時では処理の方法が違うので、装備・QSを除外できるか調べてみます というか軽く製作の処理を見てみた感じ鞄の中身をスキャンしてる様子がないんだけど見落としてるんだろうか・・・ -- (スイッチの人) 2015-05-20 11 49 21 手動で1つずつアイテム製作してみるとインベントリ→装備(E)→QSの順で素材となるアイテムを消費している様ですが…実装が難しそうなら仕様上の制限という事でもかまいません。 -- (名無しさん) 2015-05-20 12 50 58 v0.11gに更新しました multiCreateの対象から装備品・QS内のものを除外しました もともと鞄に入っているものは製作対象アイテムじゃなかったというオチね -- (スイッチの人) 2015-05-20 13 39 20 【動作確認/v0.11g】■[MultiCreate] 連続製作で装備アイテムとQSアイテムが素材として使用されない事を確認しました。早速の対応有り難うございます。 -- (名無しさん) 2015-05-20 14 13 37 今modを作ってますが、技術情報の内部処理の書き換えの所が参考になって助かってます。ありがとうございます! -- (はごろもフーズ) 2015-06-23 08 34 42 行き詰まってるコトや実装の仕方についてここで質問してくれれば分かる範囲ですがこっちでも調べてみますよ -- (スイッチの人) 2015-06-24 23 13 07 匿名Modの作者です。Wayward 2.0の一般公開を確認&一通りプレイ完了してからMODを再開発したいと考えています。MODは2.0用に作り直す予定で1.9.2との互換性は考慮しません。初めに日本語対応してから匿名Mod2.0の開発に取り組むと思います。 -- (匿名) 2015-07-25 05 24 37 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/csjake/pages/149.html
Siege スクリーンショット 内容 小さな島で味方と共にマシンと戦う。 目標などは何もなくスタートして10体ほどの敵を倒せば終了。 評価 ボリューム ★☆☆☆☆ デザイン ★★☆☆☆ 面白さ ★★☆☆☆ 難易度 ★★☆☆☆ ダウンロード(3.8MB) Crymod
https://w.atwiki.jp/dwarffortress/pages/124.html
MODとは、ゲーム本体を「基礎」とするとMODは「応用」になります。 ゲームの機能性の拡張、独自のゲームシステムの追加、グラフィック改善などなど、 その拡張性は多岐に渡ります。 総合MOD Genesis MOD MASTERWORK DWARF FORTRESS グラフィカルMOD Mike Mayday's combined pack (DFG) Phoebus' Graphics Pack グラフィカルUtility Stonesense サウンドUtility SoundSense ゲームプレイUtility Dwarf Therapist Quickfort Runesmith ワールドマップUtility PerfectWorldDF 総合MOD DFのありとあらゆる要素を拡張したMODです。 Genesis MOD http //www.bay12forums.com/smf/index.php?topic=52988.0 9種類のドワーフ、15種類の種族、70以上の新ユニークモンスター、50以上の新アイテム 、154種の植物、76種の木材、新しい Workshops、新しい精錬システム、強力な弓など様々な要素が追加されます。 Genesis MOD は三種類存在します。 ASCIIMOD - 文字バージョンです IRONHAND - グラフィカルバージョンです PHOEBUS - グラフィカルバージョンです MASTERWORK DWARF FORTRESS http //www.bay12forums.com/smf/index.php?topic=98196.645 DL http //dffd.wimbli.com/file.php?id=5315 「プレイする度に違う遊びを、興奮を」を目的としたMOD。 本来はオリジナルDFのバランス調整とバグフィックスを目的としたMODだが、新規要素が追加され続け大型MODになった。 その名の通り、無数の建設施設と多数の職業、様々な困難と報酬が用意されている。 重要な要素として、「新規追加要素」や「バランス変更要素」などは、全てオプションとして変更可能な起動ランチャーがついている。 つまり、新規追加要素を一切排除したバランスMODとしても導入可能。 ゲームをより難しくしたり、簡単にするオプションを選択導入可能。 ゲームFPS低下防止の「死体無限増殖防止機能」などもある。 銃火器の追加、スキルトレーニング施設の追加 45種の魔法矢、宝石のさらなる有効活用(兵器利用可能)、60種の新規建物、850種の新規生物 1000種を超える新規植物及びアイテム、75種の新規武器防具、30種の新規文明、800種を超えるドワーフの新たなリアクション、100種を超える新たなアーティファクト 新たな報酬システム(プレイヤーは困難な事態に打ち勝つと強大な報酬を得ます! オリジナル Dwarf Fortress のバグフィックスとバランス調整(主にトラップの弱体化) MASTERWORK DWARF FORTRESSの日本語解説 グラフィカルMOD DFの画像機能を強化する物です。 Mike Mayday s combined pack (DFG) フルグラフィカル(全ての表示がグラフィカル表示になる)MODです。 こちらからダウンロード出来ます。 タイルサイズ:16x16 推奨解像度:1280 http //mayday.w.staszic.waw.pl/df.phpDFG13.png Phoebus Graphics Pack 同様のフルグラフィカルMOD。 鉱物資源が一目で判別できるようになっているのが魅力です。 タイルサイズ:16x16 推奨解像度:1280 こちらからダウンロード出来ます。 http //www.bay12forums.com/smf/index.php?topic=57557.0#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (phoebus_dwarves.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (phoebus_symbols.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (phoebus_soils.png) グラフィカルUtility Dwarf Fortressのグラフィックを表示する外部アプリケーションです。 Stonesense クォータービューでDwarf Fortressを表示できるUtility。 クォータービュー表示されるため位置関係が掴みやすくなります。 また、箱庭的楽しみも更に増すかもしれません。 以下のForumよりダウンロードできます。 http //www.bay12forums.com/smf/index.php?topic=43260.0 サウンドUtility Dwarf Fortressに効果音等を追加する外部アプリケーションです。 SoundSense ゲーム中に効果音を追加するUtility。 プレイヤーとゲームログを表示するDOS窓の2窓構成。 何かが殴ったり殴られたりとか仕事ができない時とかに音が出るので便利。 そのぶん訓練中はがちゃがちゃうるさく感じるかもしれない。 他にも雨天やBGM等々いろいろ音が出る。 http //www.bay12forums.com/smf/index.php?topic=60287.0 ゲームプレイUtility Dwarf Fortressの操作を手助けしたり、パラメータを弄る外部アプリケーションです。 Dwarf Therapist Dwarf達のスキルを一目で判別・仕事の割り振りを一括管理できるUtility。 仕事の割り当てやnick nameをつける事等が、一括して簡単にできます。 Professionの名前を変えると同時に仕事の割り当てを一括で変える事等も可能。 また、移民順やprofession毎等、ソート機能も充実。 プレイが格段に快適になります。 チート要素はほぼありません。 以下のForumよりダウンロードできます。 http //www.bay12forums.com/smf/index.php?topic=66525 34.11の場合は以下のリンクからダウンロードできます https //code.google.com/r/splintermind-attributes/ 使用方法(掲示板からのコピー)まずDFモードで遊んでるときに、セラピストを起動する。そしたら自動でDFとリンクしてくれるので、住民リストが出てきてくれる。中心の表ではLaborに関する設定をクリックでon/offできる。ただしクリックしただけで即時変更されるわけではなく、変更した事柄は全て右側の「Commit Changes」ボタンを押して初めて反映される。右側下段のCustom Professionでは、自分の指定したLaborのセットが作成できる。任意のドワーフを一人選んで、作成したCustom Professionを指定するとLaborが一気に変更できる。雑多な連中を「Citizen」とかで一括で簡単な仕事設定すると便利だよ!全部右側のボタンを押さないと反映されない事に注意してね! 詳しい解説:MOD解説/Dwarf Therapist Quickfort 設計図を元に高速で掘削・建築・設置を行うUtility。 地下100階まで続く螺旋階段が3分でセットできます。 チート要素なし。 実行時の動画:http //www.youtube.com/watch?v=gjohyKpf2Dg ダウンロード元(v2.03) http //www.bay12forums.com/smf/index.php?PHPSESSID=95c041bdaa3a961d492c968443097e1c topic=35931.0 他にも複数の設計図がアップロードされています。 簡単な使い方:基本は設計図をロード→[d]で場所を指定→掘削開始--Quickfortの一時停止:Shift+Alt+Z--Quickfortの終了:Shift+Alt+X--設計図のロード:Alt+F:設計図のロード後に[d]で場所--を指定する。--リピートの設定:Alt+R:上下左右・階上・階下へのリピートが--可能。設定しなければ1回掘って停止。--掘削開始:Alt+D QuickFort2.02に対応した詳しい解説ページを作りました。 現在翻訳中ですがひと通りのことについては記述してあります。 MOD解説/QF202 Runesmith Dwarf達やCreature達のスキルや能力値等、様々なパラメータを操作するUtility。 スキルの調整や能力値の修正ができるようになります。 チート要素非常に大。 以下のForumよりダウンロードできます。 http //www.bay12forums.com/smf/index.php?topic=59056.0 ワールドマップUtility DFのマップ、ワールドに関するMODです。 PerfectWorldDF DFのマップスクリプトの強化版です。 作者は Civilization4 のカスタムマップスクリプターとして有名な方です。 フォーラム http //www.bay12forums.com/smf/index.php?topic=57428.0 ダウンロード http //dffd.wimbli.com/file.php?id=2354